diff options
552 files changed, 85428 insertions, 178857 deletions
diff --git a/core/balloon_allocator.h b/core/balloon_allocator.h deleted file mode 100644 index eb6632bb37..0000000000 --- a/core/balloon_allocator.h +++ /dev/null @@ -1,35 +0,0 @@ -/*************************************************************************/ -/* balloon_allocator.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef BALLOON_ALLOCATOR_H -#define BALLOON_ALLOCATOR_H - -#include "os/memory.h" - -#include "allocators.h" -#endif // BALLOON_ALLOCATOR_H diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 3cdefc5811..ace7e7c7b7 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* core_bind.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "core_bind.h" #include "os/os.h" #include "geometry.h" @@ -1538,7 +1566,12 @@ DVector<uint8_t> _File::get_buffer(int p_length) const{ String _File::get_as_text() const { + ERR_FAIL_COND_V(!f, String()); + String text; + size_t original_pos = f->get_pos(); + f->seek(0); + String l = get_line(); while(!eof_reached()) { text+=l+"\n"; @@ -1546,6 +1579,8 @@ String _File::get_as_text() const { } text+=l; + f->seek(original_pos); + return text; @@ -1863,6 +1898,13 @@ String _Directory::get_current_dir() { Error _Directory::make_dir(String p_dir){ ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED); + if (!p_dir.is_rel_path()) { + DirAccess *d = DirAccess::create_for_path(p_dir); + Error err = d->make_dir(p_dir); + memdelete(d); + return err; + + } return d->make_dir(p_dir); } Error _Directory::make_dir_recursive(String p_dir){ @@ -1874,18 +1916,32 @@ Error _Directory::make_dir_recursive(String p_dir){ bool _Directory::file_exists(String p_file){ ERR_FAIL_COND_V(!d,false); + + if (!p_file.is_rel_path()) { + return FileAccess::exists(p_file); + } + return d->file_exists(p_file); } bool _Directory::dir_exists(String p_dir) { ERR_FAIL_COND_V(!d,false); - return d->dir_exists(p_dir); + if (!p_dir.is_rel_path()) { + + DirAccess *d = DirAccess::create_for_path(p_dir); + bool exists = d->dir_exists(p_dir); + memdelete(d); + return exists; + + } else { + return d->dir_exists(p_dir); + } } int _Directory::get_space_left(){ ERR_FAIL_COND_V(!d,0); - return d->get_space_left(); + return d->get_space_left()/1024*1024; //return value in megabytes, given binding is int } Error _Directory::copy(String p_from,String p_to){ @@ -1896,12 +1952,26 @@ Error _Directory::copy(String p_from,String p_to){ Error _Directory::rename(String p_from, String p_to){ ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED); + if (!p_from.is_rel_path()) { + DirAccess *d = DirAccess::create_for_path(p_from); + Error err = d->rename(p_from,p_to); + memdelete(d); + return err; + } + return d->rename(p_from,p_to); } Error _Directory::remove(String p_name){ ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED); + if (!p_name.is_rel_path()) { + DirAccess *d = DirAccess::create_for_path(p_name); + Error err = d->remove(p_name); + memdelete(d); + return err; + } + return d->remove(p_name); } diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index a48f7f111a..856d942d02 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* core_bind.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef CORE_BIND_H #define CORE_BIND_H diff --git a/core/fpstr.cpp b/core/fpstr.cpp deleted file mode 100644 index 76046d0b99..0000000000 --- a/core/fpstr.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* fpstr.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/core/fpstr.h b/core/fpstr.h deleted file mode 100644 index d3d02733b3..0000000000 --- a/core/fpstr.h +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* fpstr.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/core/func_ref.cpp b/core/func_ref.cpp index 66962710bd..29b06ae9a0 100644 --- a/core/func_ref.cpp +++ b/core/func_ref.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* func_ref.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "func_ref.h" Variant FuncRef::call_func(const Variant** p_args, int p_argcount, Variant::CallError& r_error) { diff --git a/core/func_ref.h b/core/func_ref.h index 28d0e737be..140dcd6b1c 100644 --- a/core/func_ref.h +++ b/core/func_ref.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* func_ref.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef FUNC_REF_H #define FUNC_REF_H diff --git a/core/helper/value_evaluator.h b/core/helper/value_evaluator.h index a03602bc61..461c505ee7 100644 --- a/core/helper/value_evaluator.h +++ b/core/helper/value_evaluator.h @@ -5,7 +5,7 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/core/image.cpp b/core/image.cpp index 57496683ef..d6ac3f28ea 100644 --- a/core/image.cpp +++ b/core/image.cpp @@ -1735,8 +1735,17 @@ Error Image::_decompress_bc() { print_line("decompressing bc"); + int wd=width,ht=height; + if (wd%4!=0) { + wd+=4-(wd%4); + } + if (ht%4!=0) { + ht+=4-(ht%4); + } + + int mm; - int size = _get_dst_image_size(width,height,FORMAT_RGBA,mm,mipmaps); + int size = _get_dst_image_size(wd,ht,FORMAT_RGBA,mm,mipmaps); DVector<uint8_t> newdata; newdata.resize(size); @@ -1746,7 +1755,8 @@ Error Image::_decompress_bc() { int rofs=0; int wofs=0; - int wd=width,ht=height; + + //print_line("width: "+itos(wd)+" height: "+itos(ht)); for(int i=0;i<=mm;i++) { @@ -2051,6 +2061,11 @@ Error Image::_decompress_bc() { data=newdata; format=FORMAT_RGBA; + if (wd!=width || ht!=height) { + //todo, crop + width=wd; + height=ht; + } return OK; } diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp index 65b1ca5207..4d4b4d8ee7 100644 --- a/core/io/file_access_encrypted.cpp +++ b/core/io/file_access_encrypted.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* file_access_encrypted.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "file_access_encrypted.h" #include "aes256.h" #include "md5.h" diff --git a/core/io/file_access_encrypted.h b/core/io/file_access_encrypted.h index 3bdcc2dfd0..34926faadf 100644 --- a/core/io/file_access_encrypted.h +++ b/core/io/file_access_encrypted.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* file_access_encrypted.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef FILE_ACCESS_ENCRYPTED_H #define FILE_ACCESS_ENCRYPTED_H diff --git a/core/io/file_access_memory.cpp b/core/io/file_access_memory.cpp index 7db3499505..11a425001e 100644 --- a/core/io/file_access_memory.cpp +++ b/core/io/file_access_memory.cpp @@ -46,7 +46,7 @@ void FileAccessMemory::register_file(String p_name, Vector<uint8_t> p_data) { name = Globals::get_singleton()->globalize_path(p_name); else name = p_name; - name = DirAccess::normalize_path(name); + //name = DirAccess::normalize_path(name); (*files)[name] = p_data; } @@ -68,7 +68,7 @@ FileAccess* FileAccessMemory::create() { bool FileAccessMemory::file_exists(const String& p_name) { String name = fix_path(p_name); - name = DirAccess::normalize_path(name); +// name = DirAccess::normalize_path(name); return files && (files->find(name) != NULL); } @@ -87,7 +87,7 @@ Error FileAccessMemory::_open(const String& p_path, int p_mode_flags) { ERR_FAIL_COND_V(!files, ERR_FILE_NOT_FOUND); String name = fix_path(p_path); - name = DirAccess::normalize_path(name); +// name = DirAccess::normalize_path(name); Map<String, Vector<uint8_t> >::Element* E = files->find(name); ERR_FAIL_COND_V(!E, ERR_FILE_NOT_FOUND); diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp index 3520680118..0dfae6584b 100644 --- a/core/io/http_client.cpp +++ b/core/io/http_client.cpp @@ -76,6 +76,7 @@ void HTTPClient::set_connection(const Ref<StreamPeer>& p_connection){ close(); connection=p_connection; + status=STATUS_CONNECTED; } diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp index 22b8bc0b39..8e96697ac9 100644 --- a/core/io/packet_peer.cpp +++ b/core/io/packet_peer.cpp @@ -126,7 +126,7 @@ Error PacketPeer::_get_packet_error() const { void PacketPeer::_bind_methods() { - ObjectTypeDB::bind_method(_MD("get_var"),&PacketPeer::_bnd_get_var); + ObjectTypeDB::bind_method(_MD("get_var:Variant"),&PacketPeer::_bnd_get_var); ObjectTypeDB::bind_method(_MD("put_var", "var:Variant"),&PacketPeer::put_var); ObjectTypeDB::bind_method(_MD("get_packet"),&PacketPeer::_get_packet); ObjectTypeDB::bind_method(_MD("put_packet:Error", "buffer"),&PacketPeer::_put_packet); diff --git a/core/io/packet_peer_udp.cpp b/core/io/packet_peer_udp.cpp index 83217ffc41..efc619e414 100644 --- a/core/io/packet_peer_udp.cpp +++ b/core/io/packet_peer_udp.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "packet_peer_udp.h" #include "io/ip.h" diff --git a/core/io/packet_peer_udp.h b/core/io/packet_peer_udp.h index 73ff487b19..70d92834fc 100644 --- a/core/io/packet_peer_udp.h +++ b/core/io/packet_peer_udp.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PACKET_PEER_UDP_H #define PACKET_PEER_UDP_H diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp index 2114993783..a58be84225 100644 --- a/core/io/stream_peer_ssl.cpp +++ b/core/io/stream_peer_ssl.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* stream_peer_ssl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "stream_peer_ssl.h" diff --git a/core/io/stream_peer_ssl.h b/core/io/stream_peer_ssl.h index 4b1c8e93bb..3435a9a445 100644 --- a/core/io/stream_peer_ssl.h +++ b/core/io/stream_peer_ssl.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* stream_peer_ssl.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef STREAM_PEER_SSL_H #define STREAM_PEER_SSL_H diff --git a/core/io/zip_io.h b/core/io/zip_io.h index 355003d947..0668c47d97 100644 --- a/core/io/zip_io.h +++ b/core/io/zip_io.h @@ -39,11 +39,14 @@ static void* zipio_open(void* data, const char* p_fname, int mode) { FileAccess *&f = *(FileAccess**)data; + String fname; + fname.parse_utf8(p_fname); + if (mode & ZLIB_FILEFUNC_MODE_WRITE) { - f = FileAccess::open(p_fname,FileAccess::WRITE); + f = FileAccess::open(fname,FileAccess::WRITE); } else { - f = FileAccess::open(p_fname,FileAccess::READ); + f = FileAccess::open(fname,FileAccess::READ); } if (!f) diff --git a/core/math/bezier_curve.cpp b/core/math/bezier_curve.cpp deleted file mode 100644 index 37cf16504c..0000000000 --- a/core/math/bezier_curve.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************************************/ -/* bezier_curve.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "bezier_curve.h" diff --git a/core/math/bezier_curve.h b/core/math/bezier_curve.h deleted file mode 100644 index 25df9dfda8..0000000000 --- a/core/math/bezier_curve.h +++ /dev/null @@ -1,35 +0,0 @@ -/*************************************************************************/ -/* bezier_curve.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef BEZIER_CURVE_H -#define BEZIER_CURVE_H - - - - -#endif // BEZIER_CURVE_H diff --git a/core/math/math_defs.cpp b/core/math/math_defs.cpp deleted file mode 100644 index 70963bd71d..0000000000 --- a/core/math/math_defs.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* math_defs.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "math_defs.h" - diff --git a/core/math/vector3.h b/core/math/vector3.h index 528c4d37b3..910446023a 100644 --- a/core/math/vector3.h +++ b/core/math/vector3.h @@ -44,18 +44,6 @@ struct Vector3 { }; union { - -#ifdef USE_QUAD_VECTORS - - struct { - real_t x; - real_t y; - real_t z; - real_t _unused; - }; - real_t coord[4]; -#else - struct { real_t x; real_t y; @@ -63,7 +51,6 @@ struct Vector3 { }; real_t coord[3]; -#endif }; _FORCE_INLINE_ const real_t& operator[](int p_axis) const { diff --git a/core/multi_bucket_array.h b/core/multi_bucket_array.h deleted file mode 100644 index 98033e40f6..0000000000 --- a/core/multi_bucket_array.h +++ /dev/null @@ -1,42 +0,0 @@ -/*************************************************************************/ -/* multi_bucket_array.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef MULTI_BUCKET_ARRAY_H -#define MULTI_BUCKET_ARRAY_H - - -template<class T> -class MultiBucketArray { - - - -}; - - - -#endif // MULTI_BUCKET_ARRAY_H diff --git a/core/object.h b/core/object.h index a27e8c7dd8..d7b0f09df9 100644 --- a/core/object.h +++ b/core/object.h @@ -87,6 +87,8 @@ enum PropertyUsageFlags { PROPERTY_USAGE_NO_INSTANCE_STATE=2048, PROPERTY_USAGE_RESTART_IF_CHANGED=4096, PROPERTY_USAGE_SCRIPT_VARIABLE=8192, + PROPERTY_USAGE_STORE_IF_NULL=16384, + PROPERTY_USAGE_ANIMATE_AS_TRIGGER=32768, PROPERTY_USAGE_DEFAULT=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK, PROPERTY_USAGE_DEFAULT_INTL=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK|PROPERTY_USAGE_INTERNATIONALIZED, diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp index 9a7135913a..c2402183fd 100644 --- a/core/os/dir_access.cpp +++ b/core/os/dir_access.cpp @@ -143,118 +143,52 @@ Error DirAccess::make_dir_recursive(String p_dir) { }; String full_dir; - Globals* g = Globals::get_singleton(); - if (!p_dir.is_abs_path()) { - //append current + if (p_dir.is_rel_path()) { + //append current + full_dir=get_current_dir().plus_file(p_dir); - String cur = normalize_path(g->globalize_path(get_current_dir())); - if (cur[cur.length()-1] != '/') { - cur = cur + "/"; - }; - - full_dir=(cur+"/"+p_dir).simplify_path(); } else { - //validate and use given - String dir = normalize_path(g->globalize_path(p_dir)); - if (dir.length() < 1) { - return OK; - }; - if (dir[dir.length()-1] != '/') { - dir = dir + "/"; - }; - full_dir=dir; + full_dir=p_dir; } - //int slices = full_dir.get_slice_count("/"); - - int pos = 0; - while (pos < full_dir.length()) { - - int n = full_dir.find("/", pos); - if (n < 0) { - n = full_dir.length(); - }; - pos = n + 1; - - if (pos > 1) { - String to_create = full_dir.substr(0, pos -1); - //print_line("MKDIR: "+to_create); - Error err = make_dir(to_create); - if (err != OK && err != ERR_ALREADY_EXISTS) { - - ERR_FAIL_V(err); - }; - }; - }; - - return OK; -}; - - -String DirAccess::normalize_path(const String &p_path) { - - static const int max_depth = 64; - int pos_stack[max_depth]; - int curr = 0; - - int pos = 0; - String cur_dir; - - do { + full_dir=full_dir.replace("\\","/"); - if (curr >= max_depth) { - - ERR_PRINT("Directory depth too deep."); - return ""; - }; - - int start = pos; - - int next = p_path.find("/", pos); - if (next < 0) { - next = p_path.length() - 1; - }; - - pos = next + 1; + //int slices = full_dir.get_slice_count("/"); - cur_dir = p_path.substr(start, next - start); + String base; - if (cur_dir == "" || cur_dir == ".") { - continue; - }; - if (cur_dir == "..") { + if (full_dir.begins_with("res://")) + base="res://"; + else if (full_dir.begins_with("user://")) + base="user://"; + else if (full_dir.begins_with("/")) + base="/"; + else if (full_dir.find(":/")!=-1) { + base=full_dir.substr(0,full_dir.find(":/")+2); + } else { + ERR_FAIL_V(ERR_INVALID_PARAMETER); + } - if (curr > 0) { // pop a dir - curr -= 2; - }; - continue; - }; + full_dir=full_dir.replace_first(base,"").simplify_path(); - pos_stack[curr++] = start; - pos_stack[curr++] = next; + Vector<String> subdirs=full_dir.split("/"); - } while (pos < p_path.length()); + String curpath=base; + for(int i=0;i<subdirs.size();i++) { - String path; - if (p_path[0] == '/') { - path = "/"; - }; + curpath=curpath.plus_file(subdirs[i]); + Error err = make_dir(curpath); + if (err != OK && err != ERR_ALREADY_EXISTS) { - int i=0; - while (i < curr) { - - int start = pos_stack[i++]; + ERR_FAIL_V(err); + } + } - while ( ((i+1)<curr) && (pos_stack[i] == pos_stack[i+1]) ) { + return OK; +} - ++i; - }; - path = path + p_path.substr(start, (pos_stack[i++] - start) + 1); - }; - return path; -}; String DirAccess::get_next(bool* p_is_dir) { @@ -276,9 +210,9 @@ String DirAccess::fix_path(String p_path) const { String resource_path = Globals::get_singleton()->get_resource_path(); if (resource_path != "") { - return p_path.replace("res:/",resource_path); + return p_path.replace_first("res:/",resource_path); }; - return p_path.replace("res://", ""); + return p_path.replace_first("res://", ""); } } @@ -292,9 +226,9 @@ String DirAccess::fix_path(String p_path) const { String data_dir=OS::get_singleton()->get_data_dir(); if (data_dir != "") { - return p_path.replace("user:/",data_dir); + return p_path.replace_first("user:/",data_dir); }; - return p_path.replace("user://", ""); + return p_path.replace_first("user://", ""); } } break; diff --git a/core/os/dir_access.h b/core/os/dir_access.h index 7a850ddc6d..83288b7c91 100644 --- a/core/os/dir_access.h +++ b/core/os/dir_access.h @@ -72,8 +72,6 @@ protected: public: - static String normalize_path(const String& p_path); - virtual bool list_dir_begin()=0; ///< This starts dir listing virtual String get_next(bool* p_is_dir); // compatibility virtual String get_next()=0; diff --git a/core/os/input.cpp b/core/os/input.cpp index 005a248aac..dacddc0928 100644 --- a/core/os/input.cpp +++ b/core/os/input.cpp @@ -61,7 +61,7 @@ void Input::_bind_methods() { ObjectTypeDB::bind_method(_MD("get_joy_guid","device"),&Input::get_joy_guid); ObjectTypeDB::bind_method(_MD("get_joy_vibration_strength", "device"), &Input::get_joy_vibration_strength); ObjectTypeDB::bind_method(_MD("get_joy_vibration_duration", "device"), &Input::get_joy_vibration_duration); - ObjectTypeDB::bind_method(_MD("start_joy_vibration", "device", "weak_magnitude", "strong_magnitude", "duration"), &Input::start_joy_vibration); + ObjectTypeDB::bind_method(_MD("start_joy_vibration", "device", "weak_magnitude", "strong_magnitude", "duration"), &Input::start_joy_vibration, DEFVAL(0)); ObjectTypeDB::bind_method(_MD("stop_joy_vibration", "device"), &Input::stop_joy_vibration); ObjectTypeDB::bind_method(_MD("get_accelerometer"),&Input::get_accelerometer); ObjectTypeDB::bind_method(_MD("get_magnetometer"),&Input::get_magnetometer); diff --git a/core/os/input.h b/core/os/input.h index 6364d597b0..fa2cef5467 100644 --- a/core/os/input.h +++ b/core/os/input.h @@ -70,7 +70,7 @@ public: virtual Vector2 get_joy_vibration_strength(int p_device)=0; virtual float get_joy_vibration_duration(int p_device)=0; virtual uint64_t get_joy_vibration_timestamp(int p_device)=0; - virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration)=0; + virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration=0)=0; virtual void stop_joy_vibration(int p_device)=0; virtual Point2 get_mouse_pos() const=0; diff --git a/core/pair.cpp b/core/pair.cpp deleted file mode 100644 index 14bb2d7775..0000000000 --- a/core/pair.cpp +++ /dev/null @@ -1,29 +0,0 @@ -/*************************************************************************/ -/* pair.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "pair.h" diff --git a/core/print_string.cpp b/core/print_string.cpp index 6e57822e94..b6154f1cf6 100644 --- a/core/print_string.cpp +++ b/core/print_string.cpp @@ -44,18 +44,15 @@ void add_print_handler(PrintHandlerList *p_handler) { void remove_print_handler(PrintHandlerList *p_handler) { - OS::get_singleton()->print("pre-removing print handler...\n"); _global_lock(); PrintHandlerList *prev = NULL; PrintHandlerList *l = print_handler_list; - OS::get_singleton()->print("removing print handler...\n"); while(l) { if (l==p_handler) { - OS::get_singleton()->print("found\n"); if (prev) prev->next=l->next; else diff --git a/core/res_ptr.cpp b/core/res_ptr.cpp deleted file mode 100644 index 2fada627e7..0000000000 --- a/core/res_ptr.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/*************************************************************************/ -/* res_ptr.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#if 0 -#include "ref_ptr.h" -#include "resource.h" -#include "stdio.h" - -void RefPtr::operator=(const RefPtr& p_other) { - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) ); - - *ref = *ref_other; -} - -bool RefPtr::operator==(const RefPtr& p_other) const { - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) ); - - return *ref == *ref_other; -} - -RefPtr::RefPtr(const RefPtr& p_other) { - - memnew_placement(&data[0],Ref<Resource>); - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) ); - - *ref = *ref_other; -} - -bool RefPtr::is_null() const { - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - return ref->is_null(); - - -} - -RID RefPtr::get_rid() const { - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - if (ref->is_null()) - return RID(); - return (*ref)->get_rid(); -} - -RefPtr::RefPtr() { - - ERR_FAIL_COND(sizeof(Ref<Resource>)>DATASIZE); - memnew_placement(&data[0],Ref<Resource>); -} - - -RefPtr::~RefPtr() { - - Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] ); - ref->~Ref<Resource>(); -} - - -#endif diff --git a/core/res_ptr.h b/core/res_ptr.h deleted file mode 100644 index 54b74bb113..0000000000 --- a/core/res_ptr.h +++ /dev/null @@ -1,63 +0,0 @@ -/*************************************************************************/ -/* res_ptr.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef RES_PTR_H -#define RES_PTR_H - -#if 0 -/** - @author Juan Linietsky <reduzio@gmail.com> - * This class exists to workaround a limitation in C++ but keep the design OK. - * It's basically an opaque container of a Resource reference, so Variant can use it. -*/ - -#include "rid.h" - -class ResBase; - -class RefPtr { -friend class ResBase; - enum { - - DATASIZE=sizeof(void*)*4 - }; - - mutable char data[DATASIZE]; // too much probably, virtual class + pointer -public: - - bool is_null() const; - void operator=(const RefPtr& p_other); - bool operator==(const RefPtr& p_other) const; - RID get_rid() const; - RefPtr(const RefPtr& p_other); - RefPtr(); - ~RefPtr(); - -}; -#endif -#endif diff --git a/core/script_debugger_debugger.cpp b/core/script_debugger_debugger.cpp deleted file mode 100644 index 71ad33f5ed..0000000000 --- a/core/script_debugger_debugger.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* script_debugger_debugger.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/core/ucaps.h b/core/ucaps.h index 9c07828006..cf42e96b4f 100644 --- a/core/ucaps.h +++ b/core/ucaps.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ucaps.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef UCAPS_H #define UCAPS_H diff --git a/core/ustring.cpp b/core/ustring.cpp index 485f7f1b62..ea9a9d903e 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -2810,6 +2810,50 @@ bool String::_base_is_subsequence_of(const String& p_string, bool case_insensiti return false; } +Vector<String> String::bigrams() const { + int n_pairs = length() - 1; + Vector<String> b; + if(n_pairs <= 0) { + return b; + } + b.resize(n_pairs); + for(int i = 0; i < n_pairs; i++) { + b[i] = substr(i,2); + } + return b; +} + +// Similarity according to Sorensen-Dice coefficient +float String::similarity(const String& p_string) const { + if(operator==(p_string)) { + // Equal strings are totally similar + return 1.0f; + } + if (length() < 2 || p_string.length() < 2) { + // No way to calculate similarity without a single bigram + return 0.0f; + } + + Vector<String> src_bigrams = bigrams(); + Vector<String> tgt_bigrams = p_string.bigrams(); + + int src_size = src_bigrams.size(); + int tgt_size = tgt_bigrams.size(); + + float sum = src_size + tgt_size; + float inter = 0; + for (int i = 0; i < src_size; i++) { + for (int j = 0; j < tgt_size; j++) { + if (src_bigrams[i] == tgt_bigrams[j]) { + inter++; + break; + } + } + } + + return (2.0f * inter)/sum; +} + static bool _wildcard_match(const CharType* p_pattern, const CharType* p_string,bool p_case_sensitive) { switch (*p_pattern) { case '\0': diff --git a/core/ustring.h b/core/ustring.h index 95096e8f76..692cb4e37d 100644 --- a/core/ustring.h +++ b/core/ustring.h @@ -46,11 +46,9 @@ public: operator const char*() {return get_data();}; }; -#ifndef CHARTYPE_16BITS + typedef wchar_t CharType; -#else -typedef wchar_t uint16_t; -#endif + struct StrRange { @@ -125,6 +123,8 @@ public: bool ends_with(const String& p_string) const; bool is_subsequence_of(const String& p_string) const; bool is_subsequence_ofi(const String& p_string) const; + Vector<String> bigrams() const; + float similarity(const String& p_string) const; String replace_first(String p_key,String p_with) const; String replace(String p_key,String p_with) const; String replacen(String p_key,String p_with) const; diff --git a/core/variant.cpp b/core/variant.cpp index 472d6cf568..81d10f379a 100644 --- a/core/variant.cpp +++ b/core/variant.cpp @@ -1445,12 +1445,12 @@ Variant::operator unsigned char() const { return 0; } -#ifndef CHARTYPE_16BITS + Variant::operator CharType() const { return operator unsigned int(); } -#endif + Variant::operator float() const { diff --git a/core/variant.h b/core/variant.h index b95223ecfb..87bf20f8ee 100644 --- a/core/variant.h +++ b/core/variant.h @@ -151,11 +151,7 @@ private: InputEvent *_input_event; Image *_image; void *_ptr; //generic pointer -#ifdef USE_QUAD_VECTORS - uint8_t _mem[sizeof(ObjData) > (sizeof(real_t)*5) ? sizeof(ObjData) : (sizeof(real_t)*5)]; // plane uses an extra real -#else uint8_t _mem[sizeof(ObjData) > (sizeof(real_t)*4) ? sizeof(ObjData) : (sizeof(real_t)*4)]; -#endif } _data; @@ -202,9 +198,8 @@ public: operator unsigned long() const; #endif -#ifndef CHARTYPE_16BITS + operator CharType() const; -#endif operator float() const; operator double() const; operator String() const; @@ -390,6 +385,7 @@ public: Type expected; }; + void call_ptr(const StringName& p_method,const Variant** p_args,int p_argcount,Variant* r_ret,CallError &r_error); Variant call(const StringName& p_method,const Variant** p_args,int p_argcount,CallError &r_error); Variant call(const StringName& p_method,const Variant& p_arg1=Variant(),const Variant& p_arg2=Variant(),const Variant& p_arg3=Variant(),const Variant& p_arg4=Variant(),const Variant& p_arg5=Variant()); diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 0055138582..84015d2b04 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -249,6 +249,8 @@ static void _call_##m_type##_##m_method(Variant& r_ret,Variant& p_self,const Var VCALL_LOCALMEM1R(String,ends_with); VCALL_LOCALMEM1R(String,is_subsequence_of); VCALL_LOCALMEM1R(String,is_subsequence_ofi); + VCALL_LOCALMEM0R(String,bigrams); + VCALL_LOCALMEM1R(String,similarity); VCALL_LOCALMEM2R(String,replace); VCALL_LOCALMEM2R(String,replacen); VCALL_LOCALMEM2R(String,insert); @@ -937,26 +939,32 @@ _VariantCall::ConstantData* _VariantCall::constant_data=NULL; Variant Variant::call(const StringName& p_method,const Variant** p_args,int p_argcount,CallError &r_error) { Variant ret; + call_ptr(p_method,p_args,p_argcount,&ret,r_error); + return ret; +} + +void Variant::call_ptr(const StringName& p_method,const Variant** p_args,int p_argcount,Variant* r_ret,CallError &r_error) { + Variant ret; if (type==Variant::OBJECT) { //call object Object *obj = _get_obj().obj; if (!obj) { r_error.error=CallError::CALL_ERROR_INSTANCE_IS_NULL; - return ret; + return; } #ifdef DEBUG_ENABLED if (ScriptDebugger::get_singleton() && _get_obj().ref.is_null()) { //only if debugging! if (!ObjectDB::instance_validate(obj)) { r_error.error=CallError::CALL_ERROR_INSTANCE_IS_NULL; - return ret; + return; } } #endif - return _get_obj().obj->call(p_method,p_args,p_argcount,r_error); + ret=_get_obj().obj->call(p_method,p_args,p_argcount,r_error); //else if (type==Variant::METHOD) { @@ -968,14 +976,15 @@ Variant Variant::call(const StringName& p_method,const Variant** p_args,int p_ar #ifdef DEBUG_ENABLED if (!E) { r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD; - return Variant(); + return; } #endif _VariantCall::FuncData& funcdata = E->get(); funcdata.call(ret,*this,p_args,p_argcount,r_error); } - return ret; + if (r_error.error==Variant::CallError::CALL_OK && r_ret) + *r_ret=ret; } #define VCALL(m_type,m_method) _VariantCall::_call_##m_type##_##m_method @@ -1274,6 +1283,8 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl ADDFUNC1(STRING,BOOL,String,ends_with,STRING,"text",varray()); ADDFUNC1(STRING,BOOL,String,is_subsequence_of,STRING,"text",varray()); ADDFUNC1(STRING,BOOL,String,is_subsequence_ofi,STRING,"text",varray()); + ADDFUNC0(STRING,STRING_ARRAY,String,bigrams,varray()); + ADDFUNC1(STRING,REAL,String,similarity,STRING,"text",varray()); ADDFUNC2(STRING,STRING,String,replace,STRING,"what",STRING,"forwhat",varray()); ADDFUNC2(STRING,STRING,String,replacen,STRING,"what",STRING,"forwhat",varray()); diff --git a/core/variant_call_bind.h b/core/variant_call_bind.h deleted file mode 100644 index 54954540b0..0000000000 --- a/core/variant_call_bind.h +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************/ -/* variant_call_bind.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef VARIANT_CALL_BIND_H -#define VARIANT_CALL_BIND_H - - -#include "variant.h" - - - - - - -#endif // VARIANT_CALL_BIND_H diff --git a/core/variant_construct_string.cpp b/core/variant_construct_string.cpp index 0308fd3180..6395501603 100644 --- a/core/variant_construct_string.cpp +++ b/core/variant_construct_string.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* variant_construct_string.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "variant.h" class VariantConstruct { diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp index 875a144fef..dce873a306 100644 --- a/core/variant_parser.cpp +++ b/core/variant_parser.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* variant_parser.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "variant_parser.h" #include "io/resource_loader.h" #include "os/keyboard.h" @@ -1747,7 +1775,20 @@ Error VariantParser::parse_tag_assign_eof(Stream *p_stream, int &line, String &r } if (c>32) { - if (c!='=') { + if (c=='"') { //quoted + p_stream->saved='"'; + Token tk; + Error err = get_token(p_stream,tk,line,r_err_str); + if (err) + return err; + if (tk.type!=TK_STRING) { + r_err_str="Error reading quoted string"; + return err; + } + + what=tk.value; + + } else if (c!='=') { what+=String::chr(c); } else { r_assign=what; diff --git a/core/variant_parser.h b/core/variant_parser.h index 00f6910b29..5857820efa 100644 --- a/core/variant_parser.h +++ b/core/variant_parser.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* variant_parser.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef VARIANT_PARSER_H #define VARIANT_PARSER_H diff --git a/core/vmap.cpp b/core/vmap.cpp deleted file mode 100644 index e94198257a..0000000000 --- a/core/vmap.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* vmap.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "vmap.h" - diff --git a/core/vset.cpp b/core/vset.cpp deleted file mode 100644 index cefafeb073..0000000000 --- a/core/vset.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* vset.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/doc/base/classes.xml b/doc/base/classes.xml index 4db81f487c..5f7e995099 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -313,7 +313,7 @@ <method name="seed"> <return type="Nil"> </return> - <argument index="0" name="seed" type="float"> + <argument index="0" name="seed" type="int"> </argument> <description> Set seed for the random number generator. @@ -322,7 +322,7 @@ <method name="rand_seed"> <return type="Array"> </return> - <argument index="0" name="seed" type="float"> + <argument index="0" name="seed" type="int"> </argument> <description> Random from seed, pass a seed and an array with both number and new seed is returned. @@ -804,10 +804,10 @@ Backspace Key </constant> <constant name="KEY_RETURN" value="16777221"> - Return Key + Return Key (On Main Keyboard) </constant> <constant name="KEY_ENTER" value="16777222"> - Enter Key + Enter Key (On Numpad) </constant> <constant name="KEY_INSERT" value="16777223"> Insert Key @@ -6883,6 +6883,12 @@ Return a rect containing the editable contents of the item. </description> </method> + <method name="get_item_and_children_rect" qualifiers="const"> + <return type="Rect2"> + </return> + <description> + </description> + </method> <method name="get_canvas_item" qualifiers="const"> <return type="RID"> </return> @@ -8453,7 +8459,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Resize the array. + Set the size of the [ColorArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -8462,7 +8468,7 @@ <argument index="1" name="color" type="Color"> </argument> <description> - Set an index in the array. + Change the [Color] at the given index. </description> </method> <method name="size"> @@ -12289,8 +12295,27 @@ This approximation makes straight segments between each point, then subdivides t </class> <class name="File" inherits="Reference" category="Core"> <brief_description> + Type to handle file reading and writing operations. </brief_description> <description> + File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example. + + Here's a sample on how to write and read from a file: + + [codeblock] + func save(content): + var file = File.new() + file.open("user://save_game.dat", file.WRITE) + file.store_string(content) + file.close() + + func load(): + var file = File.new() + file.open("user://save_game.dat", file.READ) + var content = file.get_as_text() + file.close() + return content + [/codeblock] </description> <methods> <method name="open_encrypted"> @@ -12303,6 +12328,7 @@ This approximation makes straight segments between each point, then subdivides t <argument index="2" name="key" type="RawArray"> </argument> <description> + Open an encrypted file in write or read mode. You need to pass a binary key to encrypt/decrypt it. </description> </method> <method name="open_encrypted_with_pass"> @@ -12315,6 +12341,7 @@ This approximation makes straight segments between each point, then subdivides t <argument index="2" name="pass" type="String"> </argument> <description> + Open an encrypted file in write or read mode. You need to pass a password to encrypt/decrypt it. </description> </method> <method name="open"> @@ -12325,88 +12352,103 @@ This approximation makes straight segments between each point, then subdivides t <argument index="1" name="flags" type="int"> </argument> <description> + Open the file for writing or reading, depending on the flags. </description> </method> <method name="close"> <description> + Close the currently opened file. </description> </method> <method name="is_open" qualifiers="const"> <return type="bool"> </return> <description> + Return whether the file is currently opened. </description> </method> <method name="seek"> <argument index="0" name="pos" type="int"> </argument> <description> + Change the file reading/writing cursor to the specified position (in bytes from the beginning of the file). </description> </method> <method name="seek_end"> <argument index="0" name="pos" type="int" default="0"> </argument> <description> + Change the file reading/writing cursor to the specified position (in bytes from the end of the file). Note that this is an offset, so you should use negative numbers or the cursor will be at the end of the file. </description> </method> <method name="get_pos" qualifiers="const"> <return type="int"> </return> <description> + Return the file cursor position. </description> </method> <method name="get_len" qualifiers="const"> <return type="int"> </return> <description> + Return the size of the file in bytes. </description> </method> <method name="eof_reached" qualifiers="const"> <return type="bool"> </return> <description> + Return whether the file cursor reached the end of the file. </description> </method> <method name="get_8" qualifiers="const"> <return type="int"> </return> <description> + Get the next 8 bits from the file as an integer. </description> </method> <method name="get_16" qualifiers="const"> <return type="int"> </return> <description> + Get the next 16 bits from the file as an integer. </description> </method> <method name="get_32" qualifiers="const"> <return type="int"> </return> <description> + Get the next 32 bits from the file as an integer. </description> </method> <method name="get_64" qualifiers="const"> <return type="int"> </return> <description> + Get the next 64 bits from the file as an integer. </description> </method> <method name="get_float" qualifiers="const"> <return type="float"> </return> <description> + Get the next 32 bits from the file as a floating point number. </description> </method> <method name="get_double" qualifiers="const"> <return type="float"> </return> <description> + Get the next 64 bits from the file as a floating point number. </description> </method> <method name="get_real" qualifiers="const"> <return type="float"> </return> <description> + Get the next bits from the file as a floating point number. </description> </method> <method name="get_buffer" qualifiers="const"> @@ -12415,18 +12457,21 @@ This approximation makes straight segments between each point, then subdivides t <argument index="0" name="len" type="int"> </argument> <description> + Get next len bytes of the file as a [RawArray]. </description> </method> <method name="get_line" qualifiers="const"> <return type="String"> </return> <description> + Get the next line of the file as a [String]. </description> </method> <method name="get_as_text" qualifiers="const"> <return type="String"> </return> <description> + Get the whole file as a [String]. </description> </method> <method name="get_md5" qualifiers="const"> @@ -12435,30 +12480,44 @@ This approximation makes straight segments between each point, then subdivides t <argument index="0" name="path" type="String"> </argument> <description> - Returns on success, a md5 String representing the file of the given path. - else, empty String "". + Return a md5 String representing the file at the given path or an empty [String] on failure. + </description> + </method> + <method name="get_sha256" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="path" type="String"> + </argument> + <description> + Return a sha256 String representing the file at the given path or an empty [String] on failure. </description> </method> <method name="get_endian_swap"> <return type="bool"> </return> <description> + Get whether endian swap is enabled for this file. </description> </method> <method name="set_endian_swap"> <argument index="0" name="enable" type="bool"> </argument> <description> + Set whether to swap the endianess of the file. Enable this if you're dealing with files written in big endian machines. + + Note that this is about the file format, not CPU type. This is always reseted to [code]false[/code] whenever you open the file. </description> </method> <method name="get_error" qualifiers="const"> <return type="Error"> </return> <description> + Get the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [@Global Scope]. </description> </method> <method name="get_var" qualifiers="const"> <description> + Get the next Variant value from the file. </description> </method> <method name="get_csv_line" qualifiers="const"> @@ -12467,84 +12526,98 @@ This approximation makes straight segments between each point, then subdivides t <argument index="0" name="delim" type="String" default="",""> </argument> <description> + Get the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma). </description> </method> <method name="store_8"> <argument index="0" name="value" type="int"> </argument> <description> + Store an integer as 8 bits in the file. </description> </method> <method name="store_16"> <argument index="0" name="value" type="int"> </argument> <description> + Store an integer as 16 bits in the file. </description> </method> <method name="store_32"> <argument index="0" name="value" type="int"> </argument> <description> + Store an integer as 32 bits in the file. </description> </method> <method name="store_64"> <argument index="0" name="value" type="int"> </argument> <description> + Store an integer as 64 bits in the file. </description> </method> <method name="store_float"> <argument index="0" name="value" type="float"> </argument> <description> + Store a floating point number as 32 bits in the file. </description> </method> <method name="store_double"> <argument index="0" name="value" type="float"> </argument> <description> + Store a floating point number as 64 bits in the file. </description> </method> <method name="store_real"> <argument index="0" name="value" type="float"> </argument> <description> + Store a floating point number in the file. </description> </method> <method name="store_buffer"> <argument index="0" name="buffer" type="RawArray"> </argument> <description> + Store the given array of bytes in the file. </description> </method> <method name="store_line"> <argument index="0" name="line" type="String"> </argument> <description> + Store the given [String] as a line in the file. </description> </method> <method name="store_string"> <argument index="0" name="string" type="String"> </argument> <description> + Store the given [String] in the file. </description> </method> <method name="store_var"> <argument index="0" name="value" type="Variant"> </argument> <description> + Store any Variant value in the file. </description> </method> <method name="store_pascal_string"> <argument index="0" name="string" type="String"> </argument> <description> + Store the given [String] as a line in the file in Pascal format (i.e. also store the length of the string). </description> </method> <method name="get_pascal_string"> <return type="String"> </return> <description> + Get a [String] saved in Pascal format from the file. </description> </method> <method name="file_exists" qualifiers="const"> @@ -12553,17 +12626,22 @@ This approximation makes straight segments between each point, then subdivides t <argument index="0" name="path" type="String"> </argument> <description> + Get whether or not the file in the specified path exists. </description> </method> </methods> <constants> <constant name="READ" value="1"> + Open the file for reading. </constant> <constant name="WRITE" value="2"> + Open the file for writing. Create it if the file not exists and truncate if it exists. </constant> <constant name="READ_WRITE" value="3"> + Open the file for reading and writing, without truncating the file. </constant> <constant name="WRITE_READ" value="7"> + Open the file for reading and writing. Create it if the file not exists and truncate if it exists. </constant> </constants> </class> @@ -15837,6 +15915,27 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <description> Returns the duration of the current vibration effect in seconds. </description> + </method> + <method name="start_joy_vibration"> + <argument index="0" name="device" type="int"> + </argument> + <argument index="1" name="weak_magnitude" type="float"> + </argument> + <argument index="2" name="strong_magnitude" type="float"> + </argument> + <argument index="3" name="duration" type="float"> + </argument> + <description> + Starts to vibrate the joystick. Joysticks usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will play the vibration indefinitely). + </description> + </method> + <method name="stop_joy_vibration"> + <argument index="0" name="device" type="int"> + </argument> + <description> + Stops the vibration of the joystick. + </description> + </method> <method name="get_accelerometer"> <return type="Vector3"> </return> @@ -15879,26 +15978,6 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) Return the mouse mode. See the constants for more information. </description> </method> - <method name="start_joy_vibration"> - <argument index="0" name="device" type="int"> - </argument> - <argument index="1" name="weak_magnitude" type="float"> - </argument> - <argument index="2" name="strong_magnitude" type="float"> - </argument> - <argument index="3" name="duration" type="float"> - </argument> - <description> - Starts to vibrate the joystick. Joysticks usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will play the vibration indefinitely). - </description> - </method> - <method name="stop_joy_vibration"> - <argument index="0" name="device" type="int"> - </argument> - <description> - Stops the vibration of the joystick. - </description> - </method> <method name="warp_mouse_pos"> <argument index="0" name="to" type="Vector2"> </argument> @@ -16966,7 +17045,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="0" name="idx" type="int"> </argument> <description> - Resize the array. + Set the size of the [IntArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -16975,7 +17054,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="1" name="integer" type="int"> </argument> <description> - Set an index in the array. + Change the int at the given index. </description> </method> <method name="size"> @@ -20485,22 +20564,27 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) </class> <class name="Mutex" inherits="Reference" category="Core"> <brief_description> + A synchronization Mutex. </brief_description> <description> + A synchronization Mutex. Element used in multi-threadding. Basically a binary [Semaphore]. Guarantees that only one thread has this lock, can be used to protect a critical section. </description> <methods> <method name="lock"> <description> + Lock this [Mutex], blocks until it is unlocked by the current owner. </description> </method> <method name="try_lock"> <return type="Error"> </return> <description> + Try locking this [Mutex], does not block. Returns [OK] on success else [ERR_BUSY]. </description> </method> <method name="unlock"> <description> + Unlock this [Mutex], leaving it to others threads. </description> </method> </methods> @@ -23471,7 +23555,10 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) </description> <methods> <method name="get_var" qualifiers="const"> + <return type="Variant"> + </return> <description> + Get a Variant. </description> </method> <method name="put_var"> @@ -23480,12 +23567,14 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="0" name="var" type="Variant"> </argument> <description> + Send a Variant as a packet. </description> </method> <method name="get_packet" qualifiers="const"> <return type="RawArray"> </return> <description> + Get a raw packet. </description> </method> <method name="put_packet"> @@ -23494,18 +23583,21 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="0" name="buffer" type="RawArray"> </argument> <description> + Send a raw packet. </description> </method> <method name="get_packet_error" qualifiers="const"> <return type="Error"> </return> <description> + Return the error state of the last packet received (via [method get_packet] and [method get_var]). </description> </method> <method name="get_available_packet_count" qualifiers="const"> <return type="int"> </return> <description> + Return the number of packets currently available in the ring-buffer. </description> </method> </methods> @@ -23533,8 +23625,10 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) </class> <class name="PacketPeerUDP" inherits="PacketPeer" category="Core"> <brief_description> + UDP packet peer. </brief_description> <description> + UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s. </description> <methods> <method name="listen"> @@ -23545,40 +23639,47 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="1" name="recv_buf_size" type="int" default="65536"> </argument> <description> + Make this [PacketPeerUDP] listen on the "port" using a buffer size "recv_buf_size". Listens on all available adresses. </description> </method> <method name="close"> <description> + Close the UDP socket the [PacketPeerUDP] is currently listening on. </description> </method> <method name="wait"> <return type="Error"> </return> <description> + Wait for a packet to arrive on the listening port, see [method listen]. </description> </method> <method name="is_listening" qualifiers="const"> <return type="bool"> </return> <description> + Return whether this [PacketPeerUDP] is listening. </description> </method> <method name="get_packet_ip" qualifiers="const"> <return type="String"> </return> <description> + Return the IP of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]). </description> </method> <method name="get_packet_address" qualifiers="const"> <return type="int"> </return> <description> + Return the address of the remote peer(as a 32bit integer) that sent the last packet(that was received with [method get_packet] or [method get_var]). </description> </method> <method name="get_packet_port" qualifiers="const"> <return type="int"> </return> <description> + Return the port of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]). </description> </method> <method name="set_send_address"> @@ -23589,6 +23690,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8) <argument index="1" name="port" type="int"> </argument> <description> + Set the destination address and port for sending packets and variables, a hostname will be resolved if valid. </description> </method> </methods> @@ -29964,12 +30066,14 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="byte" type="int"> </argument> <description> + Append an element at the end of the array. </description> </method> <method name="resize"> <argument index="0" name="idx" type="int"> </argument> <description> + Set the size of the [RawArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -29978,12 +30082,14 @@ This method controls whether the position between two cached points is interpola <argument index="1" name="byte" type="int"> </argument> <description> + Change the byte at the given index. </description> </method> <method name="size"> <return type="int"> </return> <description> + Return the size of the array. </description> </method> <method name="RawArray"> @@ -29992,6 +30098,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="from" type="Array"> </argument> <description> + Create from a generic array. </description> </method> </methods> @@ -30305,12 +30412,14 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="value" type="float"> </argument> <description> + Append an element at the end of the array. </description> </method> <method name="resize"> <argument index="0" name="idx" type="int"> </argument> <description> + Set the size of the [RealArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -30319,12 +30428,14 @@ This method controls whether the position between two cached points is interpola <argument index="1" name="value" type="float"> </argument> <description> + Change the float at the given index. </description> </method> <method name="size"> <return type="int"> </return> <description> + Return the size of the array. </description> </method> <method name="RealArray"> @@ -30333,6 +30444,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="from" type="Array"> </argument> <description> + Create from a generic array. </description> </method> </methods> @@ -33637,20 +33749,24 @@ This method controls whether the position between two cached points is interpola </class> <class name="Semaphore" inherits="Reference" category="Core"> <brief_description> + A synchronization Semaphore. </brief_description> <description> + A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation. </description> <methods> <method name="wait"> <return type="Error"> </return> <description> + Tries to wait for the [Semaphore], if it's value is zero, blocks until non-zero. </description> </method> <method name="post"> <return type="Error"> </return> <description> + Lowers the [Semaphore], allowing one more thread in. </description> </method> </methods> @@ -36779,7 +36895,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="val" type="Variant"> </argument> <description> - Put a variable into the stream. + Put a Variant into the stream. </description> </method> <method name="get_8"> @@ -36874,7 +36990,7 @@ This method controls whether the position between two cached points is interpola <return type="Variant"> </return> <description> - Get a variable from the stream. + Get a Variant from the stream. </description> </method> </methods> @@ -36925,16 +37041,16 @@ This method controls whether the position between two cached points is interpola </methods> <constants> <constant name="STATUS_DISCONNECTED" value="0"> - A status representing a [StreamPeerSSL] that is disconnected. + A status representing a [StreamPeerSSL] that is disconnected. </constant> <constant name="STATUS_CONNECTED" value="1"> - A status representing a [StreamPeerSSL] that is connected to a host. + A status representing a [StreamPeerSSL] that is connected to a host. </constant> <constant name="STATUS_ERROR_NO_CERTIFICATE" value="2"> - An errot status that shows the peer did not present a SSL certificate and validation was requested. + An errot status that shows the peer did not present a SSL certificate and validation was requested. </constant> <constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="3"> - An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation. + An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation. </constant> </constants> </class> @@ -36993,16 +37109,16 @@ This method controls whether the position between two cached points is interpola </methods> <constants> <constant name="STATUS_NONE" value="0"> - The initial status of the [StreamPeerTCP], also the status after a disconnect. + The initial status of the [StreamPeerTCP], also the status after a disconnect. </constant> <constant name="STATUS_CONNECTING" value="1"> - A status representing a [StreamPeerTCP] that is connecting to a host. + A status representing a [StreamPeerTCP] that is connecting to a host. </constant> <constant name="STATUS_CONNECTED" value="2"> - A status representing a [StreamPeerTCP] that is connected to a host. + A status representing a [StreamPeerTCP] that is connected to a host. </constant> <constant name="STATUS_ERROR" value="3"> - A staus representing a [StreamPeerTCP] in error state. + A staus representing a [StreamPeerTCP] in error state. </constant> </constants> </class> @@ -37216,6 +37332,13 @@ This method controls whether the position between two cached points is interpola Return true if the strings begins with the given string. </description> </method> + <method name="bigrams"> + <return type="StringArray"> + </return> + <description> + Return the bigrams (pairs of consecutive letters) of this string. + </description> + </method> <method name="c_escape"> <return type="String"> </return> @@ -37569,6 +37692,21 @@ This method controls whether the position between two cached points is interpola Return the right side of the string from a given position. </description> </method> + <method name="sha256_text"> + <return type="String"> + </return> + <description> + </description> + </method> + <method name="similarity"> + <return type="float"> + </return> + <argument index="0" name="text" type="String"> + </argument> + <description> + Return the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar. + </description> + </method> <method name="split"> <return type="StringArray"> </return> @@ -37692,7 +37830,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="idx" type="int"> </argument> <description> - Reset the size of the array. + Set the size of the [StringArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -37701,6 +37839,7 @@ This method controls whether the position between two cached points is interpola <argument index="1" name="string" type="String"> </argument> <description> + Change the [String] at the given index. </description> </method> <method name="size"> @@ -37716,6 +37855,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="from" type="Array"> </argument> <description> + Create from a generic array. </description> </method> </methods> @@ -39616,8 +39756,10 @@ This method controls whether the position between two cached points is interpola </class> <class name="Thread" inherits="Reference" category="Core"> <brief_description> + A unit of execution in a process. </brief_description> <description> + A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex], [Semaphore] is advised if working with shared objects. </description> <methods> <method name="start"> @@ -39632,24 +39774,29 @@ This method controls whether the position between two cached points is interpola <argument index="3" name="priority" type="int" default="1"> </argument> <description> + Start a new [Thread], it will run "method" on object "instance" using "userdata" as an argument and running with "priority", one of PRIORITY_* enum. + Returns OK on success, or ERR_CANT_CREATE on failure. </description> </method> <method name="get_id" qualifiers="const"> <return type="String"> </return> <description> + Return the id of the thread, uniquely identifying it among all threads. </description> </method> <method name="is_active" qualifiers="const"> <return type="bool"> </return> <description> + Whether this thread is currently active, an active Thread cannot start work on a new method but can be joined with [method wait_to_finish]. </description> </method> <method name="wait_to_finish"> <return type="Variant"> </return> <description> + Joins the [Thread] and waits for it to finish. Returns what the method called returned. </description> </method> </methods> @@ -41152,6 +41299,8 @@ This method controls whether the position between two cached points is interpola </theme_item> <theme_item name="hseparation" type="int"> </theme_item> + <theme_item name="draw_relationship_lines" type="int"> + </theme_item> <theme_item name="button_margin" type="int"> </theme_item> <theme_item name="title_button_color" type="Color"> @@ -41166,6 +41315,8 @@ This method controls whether the position between two cached points is interpola </theme_item> <theme_item name="font_color" type="Color"> </theme_item> + <theme_item name="relationship_line_color" type="Color"> + </theme_item> <theme_item name="drop_position_color" type="Color"> </theme_item> <theme_item name="arrow" type="Texture"> @@ -42567,14 +42718,14 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="vector2" type="Vector2"> </argument> <description> - Inserts a Vector2 at the end. + Insert a [Vector2] at the end. </description> </method> <method name="resize"> <argument index="0" name="idx" type="int"> </argument> <description> - Sets the size of the Vector2Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. + Set the size of the Vector2Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -42583,14 +42734,14 @@ This method controls whether the position between two cached points is interpola <argument index="1" name="vector2" type="Vector2"> </argument> <description> - Changes the Vector2 at the given index. + Change the [Vector2] at the given index. </description> </method> <method name="size"> <return type="int"> </return> <description> - Returns the size of the array. + Return the size of the array. </description> </method> <method name="Vector2Array"> @@ -42599,7 +42750,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="from" type="Array"> </argument> <description> - Constructs a new Vector2Array. Optionally, you can pass in an Array that will be converted. + Construct a new [Vector2Array]. Optionally, you can pass in an Array that will be converted. </description> </method> </methods> @@ -42826,14 +42977,14 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="vector3" type="Vector3"> </argument> <description> - Inserts a Vector3 at the end. + Insert a Vector3 at the end. </description> </method> <method name="resize"> <argument index="0" name="idx" type="int"> </argument> <description> - Sets the size of the Vector3Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. + Set the size of the Vector3Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array. </description> </method> <method name="set"> @@ -42842,14 +42993,14 @@ This method controls whether the position between two cached points is interpola <argument index="1" name="vector3" type="Vector3"> </argument> <description> - Changes the Vector3 at the given index. + Change the [Vector3] at the given index. </description> </method> <method name="size"> <return type="int"> </return> <description> - Returns the size of the array. + Return the size of the array. </description> </method> <method name="Vector3Array"> @@ -42858,7 +43009,7 @@ This method controls whether the position between two cached points is interpola <argument index="0" name="from" type="Array"> </argument> <description> - Constructs a new Vector3Array. Optionally, you can pass in an Array that will be converted. + Construct a new Vector3Array. Optionally, you can pass in an Array that will be converted. </description> </method> </methods> @@ -42931,7 +43082,7 @@ This method controls whether the position between two cached points is interpola <description> </description> </method> - <method name="get_linear_velocity"> + <method name="get_linear_velocity" qualifiers="const"> <return type="Vector3"> </return> <description> @@ -45339,7 +45490,7 @@ This method controls whether the position between two cached points is interpola <description> </description> </method> - <method name="free"> + <method name="free_rid"> <argument index="0" name="arg0" type="RID"> </argument> <description> diff --git a/drivers/chibi/cp_player_data_reserved.cpp b/drivers/chibi/cp_player_data_reserved.cpp deleted file mode 100644 index a626ffd111..0000000000 --- a/drivers/chibi/cp_player_data_reserved.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/*************************************************************************/ -/* cp_player_data_reserved.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "cp_player_data.h" - - - diff --git a/drivers/chibi/event_stream_chibi.cpp b/drivers/chibi/event_stream_chibi.cpp index 3449583d36..b88f4ee70e 100644 --- a/drivers/chibi/event_stream_chibi.cpp +++ b/drivers/chibi/event_stream_chibi.cpp @@ -616,7 +616,7 @@ void CPFileAccessWrapperImpl::store_dword(uint32_t p_dest){ Error EventStreamPlaybackChibi::_play() { last_order=0; - loops++; + loops=0; player->play_start_song(); total_usec=0; @@ -628,10 +628,12 @@ bool EventStreamPlaybackChibi::_update(AudioMixer* p_mixer, uint64_t p_usec){ total_usec+=p_usec; mixer.process_usecs(p_usec,volume,pitch_scale,tempo_scale); int order=player->get_current_order(); - if (order<last_order && !loop) { - stop(); - } else { - loops++; + if (order<last_order) { + if (!loop) { + stop(); + } else { + loops++; + } } last_order=order; return false; diff --git a/drivers/convex_decomp/b2d_decompose.cpp b/drivers/convex_decomp/b2d_decompose.cpp index 1567fd0d44..36fbfa1fee 100644 --- a/drivers/convex_decomp/b2d_decompose.cpp +++ b/drivers/convex_decomp/b2d_decompose.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* b2d_decompose.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "b2d_decompose.h" #include "b2Polygon.h" diff --git a/drivers/convex_decomp/b2d_decompose.h b/drivers/convex_decomp/b2d_decompose.h index 44aa004120..2a66b033a7 100644 --- a/drivers/convex_decomp/b2d_decompose.h +++ b/drivers/convex_decomp/b2d_decompose.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* b2d_decompose.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef B2D_DECOMPOSE_H #define B2D_DECOMPOSE_H diff --git a/drivers/dds/texture_loader_dds.cpp b/drivers/dds/texture_loader_dds.cpp index 9b2e401fd9..0cef77e638 100644 --- a/drivers/dds/texture_loader_dds.cpp +++ b/drivers/dds/texture_loader_dds.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* texture_loader_dds.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "texture_loader_dds.h" #include "os/file_access.h" diff --git a/drivers/dds/texture_loader_dds.h b/drivers/dds/texture_loader_dds.h index c8b3610063..371eb1858c 100644 --- a/drivers/dds/texture_loader_dds.h +++ b/drivers/dds/texture_loader_dds.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* texture_loader_dds.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef TEXTURE_LOADER_DDS_H #define TEXTURE_LOADER_DDS_H diff --git a/drivers/etc1/image_etc.cpp b/drivers/etc1/image_etc.cpp index 62a7364847..cf2384240b 100644 --- a/drivers/etc1/image_etc.cpp +++ b/drivers/etc1/image_etc.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* image_etc.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "image_etc.h" #include "image.h" #include "rg_etc1.h" diff --git a/drivers/etc1/image_etc.h b/drivers/etc1/image_etc.h index 44859690aa..edcff39bfd 100644 --- a/drivers/etc1/image_etc.h +++ b/drivers/etc1/image_etc.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* image_etc.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMAGE_ETC1_H #define IMAGE_ETC1_H diff --git a/drivers/gl_context/context_gl.cpp b/drivers/gl_context/context_gl.cpp index c1bf6b38ea..3e15783d5f 100644 --- a/drivers/gl_context/context_gl.cpp +++ b/drivers/gl_context/context_gl.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* context_gl.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* context_gl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "context_gl.h" diff --git a/drivers/jpegd/image_loader_jpegd.cpp b/drivers/jpegd/image_loader_jpegd.cpp index 5339e9f69d..913a7bdf39 100644 --- a/drivers/jpegd/image_loader_jpegd.cpp +++ b/drivers/jpegd/image_loader_jpegd.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_jpg.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_jpegd.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "image_loader_jpegd.h" #include "print_string.h" diff --git a/drivers/jpegd/image_loader_jpegd.h b/drivers/jpegd/image_loader_jpegd.h index 1b2165ab47..2c52309ab1 100644 --- a/drivers/jpegd/image_loader_jpegd.h +++ b/drivers/jpegd/image_loader_jpegd.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_jpg.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_jpegd.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMAGE_LOADER_JPG_H #define IMAGE_LOADER_JPG_H diff --git a/drivers/mpc/audio_stream_mpc.cpp b/drivers/mpc/audio_stream_mpc.cpp index fe6aa05d00..9713eb3c77 100644 --- a/drivers/mpc/audio_stream_mpc.cpp +++ b/drivers/mpc/audio_stream_mpc.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_stream_mpc.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "audio_stream_mpc.h" diff --git a/drivers/mpc/audio_stream_mpc.h b/drivers/mpc/audio_stream_mpc.h index 122d0d0bbb..27f55777d6 100644 --- a/drivers/mpc/audio_stream_mpc.h +++ b/drivers/mpc/audio_stream_mpc.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_stream_mpc.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef AUDIO_STREAM_MPC_H #define AUDIO_STREAM_MPC_H diff --git a/drivers/nedmalloc/Benchmarks.xls b/drivers/nedmalloc/Benchmarks.xls Binary files differdeleted file mode 100644 index 5001a18a22..0000000000 --- a/drivers/nedmalloc/Benchmarks.xls +++ /dev/null diff --git a/drivers/nedmalloc/SCsub b/drivers/nedmalloc/SCsub index 8e6edd1f96..6699efef75 100644 --- a/drivers/nedmalloc/SCsub +++ b/drivers/nedmalloc/SCsub @@ -2,4 +2,3 @@ Import('env') Export('env'); env.add_source_files(env.drivers_sources,"*.cpp") -#env.add_source_files(env.drivers_sources,"*.c") diff --git a/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp b/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp index 301e94bb7b..21da056f07 100644 --- a/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp +++ b/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* memory_pool_static_nedmalloc.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* memory_pool_static_nedmalloc.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifdef NEDMALLOC_ENABLED // diff --git a/drivers/nedmalloc/memory_pool_static_nedmalloc.h b/drivers/nedmalloc/memory_pool_static_nedmalloc.h index 20b060537c..0033353a67 100644 --- a/drivers/nedmalloc/memory_pool_static_nedmalloc.h +++ b/drivers/nedmalloc/memory_pool_static_nedmalloc.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* memory_pool_static_nedmalloc.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* memory_pool_static_nedmalloc.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifdef NEDMALLOC_ENABLED // diff --git a/drivers/nedmalloc/nedmalloc.sln b/drivers/nedmalloc/nedmalloc.sln deleted file mode 100644 index 6ffd9fb83f..0000000000 --- a/drivers/nedmalloc/nedmalloc.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nedmalloc", "nedmalloc.vcproj", "{B89384F5-360B-4AB2-8F43-2F5F98A947FE}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Debug|Win32.ActiveCfg = Debug|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Debug|Win32.Build.0 = Debug|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Release|Win32.ActiveCfg = Release|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/drivers/nedmalloc/nedmalloc.vcproj b/drivers/nedmalloc/nedmalloc.vcproj deleted file mode 100644 index c5b0563d4f..0000000000 --- a/drivers/nedmalloc/nedmalloc.vcproj +++ /dev/null @@ -1,259 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="nedmalloc"
- ProjectGUID="{B89384F5-360B-4AB2-8F43-2F5F98A947FE}"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/nedmalloc.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/nedmalloc.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Ow"
- InlineFunctionExpansion="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableEnhancedInstructionSet="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/nedmalloc.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\nedmalloc.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\test.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\malloc.c.h"
- >
- </File>
- <File
- RelativePath=".\nedmalloc.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <File
- RelativePath="..\..\..\..\gcLink.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/drivers/nedmalloc/test.c b/drivers/nedmalloc/test.c deleted file mode 100644 index 8b9fed81d0..0000000000 --- a/drivers/nedmalloc/test.c +++ /dev/null @@ -1,356 +0,0 @@ -/* test.c
-An example of how to use nedalloc
-(C) 2005-2007 Niall Douglas
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "nedmalloc.c"
-
-#define THREADS 5
-#define RECORDS (100000/THREADS)
-#define TORTURETEST 1
-
-static int whichmalloc;
-static int doRealloc;
-static struct threadstuff_t
-{
- int ops;
- unsigned int *toalloc;
- void **allocs;
- char cachesync1[128];
- int done;
- char cachesync2[128];
-} threadstuff[THREADS];
-
-static void threadcode(int);
-
-#ifdef WIN32
-static DWORD WINAPI _threadcode(LPVOID a)
-{
- threadcode((int)(size_t) a);
- return 0;
-}
-#define THREADVAR HANDLE
-#define THREADINIT(v, id) (*v=CreateThread(NULL, 0, _threadcode, (LPVOID)(size_t) id, 0, NULL))
-#define THREADSLEEP(v) SleepEx(v, FALSE)
-#define THREADWAIT(v) (WaitForSingleObject(v, INFINITE), 0)
-
-typedef unsigned __int64 usCount;
-static FORCEINLINE usCount GetUsCount()
-{
- static LARGE_INTEGER ticksPerSec;
- static double scalefactor;
- LARGE_INTEGER val;
- if(!scalefactor)
- {
- if(QueryPerformanceFrequency(&ticksPerSec))
- scalefactor=ticksPerSec.QuadPart/1000000000000.0;
- else
- scalefactor=1;
- }
- if(!QueryPerformanceCounter(&val))
- return (usCount) GetTickCount() * 1000000000;
- return (usCount) (val.QuadPart/scalefactor);
-}
-
-static HANDLE win32heap;
-static void *win32malloc(size_t size)
-{
- return HeapAlloc(win32heap, 0, size);
-}
-static void *win32realloc(void *p, size_t size)
-{
- return HeapReAlloc(win32heap, 0, p, size);
-}
-static void win32free(void *mem)
-{
- HeapFree(win32heap, 0, mem);
-}
-
-static void *(*const mallocs[])(size_t size)={ malloc, nedmalloc, win32malloc };
-static void *(*const reallocs[])(void *p, size_t size)={ realloc, nedrealloc, win32realloc };
-static void (*const frees[])(void *mem)={ free, nedfree, win32free };
-#else
-static void *_threadcode(void *a)
-{
- threadcode((int)(size_t) a);
- return 0;
-}
-#define THREADVAR pthread_t
-#define THREADINIT(v, id) pthread_create(v, NULL, _threadcode, (void *)(size_t) id)
-#define THREADSLEEP(v) usleep(v*1000)
-#define THREADWAIT(v) pthread_join(v, NULL)
-
-typedef unsigned long long usCount;
-static FORCEINLINE usCount GetUsCount()
-{
- struct timeval tv;
- gettimeofday(&tv, 0);
- return ((usCount) tv.tv_sec*1000000000000LL)+tv.tv_usec*1000000LL;
-}
-
-static void *(*const mallocs[])(size_t size)={ malloc, nedmalloc };
-static void *(*const reallocs[])(void *p, size_t size)={ realloc, nedrealloc };
-static void (*const frees[])(void *mem)={ free, nedfree };
-#endif
-static usCount times[THREADS];
-
-
-static FORCEINLINE unsigned int myrandom(unsigned int *seed)
-{
- *seed=1664525UL*(*seed)+1013904223UL;
- return *seed;
-}
-
-static void threadcode(int threadidx)
-{
- int n;
- unsigned int *toallocptr=threadstuff[threadidx].toalloc;
- void **allocptr=threadstuff[threadidx].allocs;
- unsigned int seed=threadidx;
- usCount start;
- threadstuff[threadidx].done=0;
- /*neddisablethreadcache(0);*/
- THREADSLEEP(100);
- start=GetUsCount();
-#ifdef TORTURETEST
- /* A randomised malloc/realloc/free test (torture test) */
- for(n=0; n<RECORDS*100; n++)
- {
- unsigned int r=myrandom(&seed), i;
- i=(int)(r % RECORDS);
- if(!allocptr[i])
- {
- allocptr[i]=mallocs[whichmalloc](r & 0x1FFF);
- threadstuff[threadidx].ops++;
- }
- else if(r & (1<<31))
- {
- allocptr[i]=reallocs[whichmalloc](allocptr[i], r & 0x1FFF);
- threadstuff[threadidx].ops++;
- }
- else
- {
- frees[whichmalloc](allocptr[i]);
- allocptr[i]=0;
- }
- }
- for(n=0; n<RECORDS; n++)
- {
- if(allocptr[n])
- {
- frees[whichmalloc](allocptr[n]);
- allocptr[n]=0;
- }
- }
-#else
- /* A simple stack which allocates and deallocates off the top (speed test) */
- for(n=0; n<RECORDS;)
- {
-#if 1
- r=myrandom(&seed);
- if(allocptr>threadstuff[threadidx].allocs && (r & 65535)<32760) /*<32760)*/
- { /* free */
- --toallocptr;
- --allocptr;
- --n;
- frees[whichmalloc](*allocptr);
- *allocptr=0;
- }
- else
-#endif
- {
- if(doRealloc && allocptr>threadstuff[threadidx].allocs && (r & 1))
- {
- allocptr[-1]=reallocs[whichmalloc](allocptr[-1], *toallocptr);
- }
- else
- {
- allocptr[0]=mallocs[whichmalloc](*toallocptr);
- allocptr++;
- }
- n++;
- toallocptr++;
- threadstuff[threadidx].ops++;
- }
- }
- while(allocptr>threadstuff[threadidx].allocs)
- {
- frees[whichmalloc](*--allocptr);
- }
-#endif
- times[threadidx]+=GetUsCount()-start;
- neddisablethreadcache(0);
- threadstuff[threadidx].done=1;
-}
-
-static double runtest()
-{
- unsigned int seed=1;
- int n, i;
- double opspersec=0;
- THREADVAR threads[THREADS];
- for(n=0; n<THREADS; n++)
- {
- unsigned int *toallocptr;
- int m;
- threadstuff[n].ops=0;
- times[n]=0;
- threadstuff[n].toalloc=toallocptr=calloc(RECORDS, sizeof(unsigned int));
- threadstuff[n].allocs=calloc(RECORDS, sizeof(void *));
- for(m=0; m<RECORDS; m++)
- {
- unsigned int size=myrandom(&seed);
- if(size<(1<<30))
- { /* Make it two power multiple of less than 512 bytes to
- model frequent C++ new's */
- size=4<<(size & 7);
- }
- else
- {
- size&=0x3FFF; /* < 16Kb */
- /*size&=0x1FFF;*/ /* < 8Kb */
- /*size=(1<<6)<<(size & 7);*/ /* < 8Kb */
- }
- *toallocptr++=size;
- }
- }
-#ifdef TORTURETEST
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(i=0; i<32; i++)
- {
- int found=-1;
- do
- {
- for(n=0; n<THREADS; n++)
- {
- THREADSLEEP(100);
- if(threadstuff[n].done)
- {
- found=n;
- break;
- }
- }
- } while(found<0);
- THREADWAIT(threads[found]);
- threads[found]=0;
- THREADINIT(&threads[found], found);
- printf("Relaunched thread %d\n", found);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#else
-#if 1
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#else
- /* Quick realloc() test */
- doRealloc=1;
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#endif
-#endif
- {
- usCount totaltime=0;
- int totalops=0;
- for(n=0; n<THREADS; n++)
- {
- totaltime+=times[n];
- totalops+=threadstuff[n].ops;
- }
- opspersec=1000000000000.0*totalops/totaltime*THREADS;
- printf("This allocator achieves %lfops/sec under %d threads\n", opspersec, THREADS);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- free(threadstuff[n].allocs); threadstuff[n].allocs=0;
- free(threadstuff[n].toalloc); threadstuff[n].toalloc=0;
- }
- return opspersec;
-}
-
-int main(void)
-{
- double std=0, ned=0;
-
-#if 0
- {
- usCount start, end;
- start=GetUsCount();
- THREADSLEEP(5000);
- end=GetUsCount();
- printf("Wait was %lf\n", (end-start)/1000000000000.0);
- }
-#endif
-#ifdef WIN32
- { /* Force load of user32.dll so we can debug */
- BOOL v;
- SystemParametersInfo(SPI_GETBEEP, 0, &v, 0);
- }
-#endif
-
- if(0)
- {
- printf("\nTesting standard allocator with %d threads ...\n", THREADS);
- std=runtest();
- }
- if(1)
- {
- printf("\nTesting nedmalloc with %d threads ...\n", THREADS);
- whichmalloc=1;
- ned=runtest();
- }
-#ifdef WIN32
- if(0)
- {
- ULONG data=2;
- win32heap=HeapCreate(0, 0, 0);
- HeapSetInformation(win32heap, HeapCompatibilityInformation, &data, sizeof(data));
- HeapQueryInformation(win32heap, HeapCompatibilityInformation, &data, sizeof(data), NULL);
- if(2!=data)
- {
- printf("The win32 low frag allocator won't work under a debugger!\n");
- }
- else
- {
- printf("Testing win32 low frag allocator with %d threads ...\n\n", THREADS);
- whichmalloc=2;
- runtest();
- }
- HeapDestroy(win32heap);
- }
-#endif
- if(std && ned)
- { // ned should have more ops/sec
- printf("\n\nnedmalloc allocator is %lf times faster than standard\n", ned/std);
- }
- printf("\nPress a key to trim\n");
- getchar();
- nedmalloc_trim(0);
-#ifdef _MSC_VER
- printf("\nPress a key to end\n");
- getchar();
-#endif
- return 0;
-}
diff --git a/drivers/nrex/regex.cpp b/drivers/nrex/regex.cpp index 5d6c9583ef..7bf14d14ad 100644 --- a/drivers/nrex/regex.cpp +++ b/drivers/nrex/regex.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* regex.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* regex.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "regex.h" #include "nrex.hpp" #include "core/os/memory.h" diff --git a/drivers/nrex/regex.h b/drivers/nrex/regex.h index 4b063f0bf1..74495442c7 100644 --- a/drivers/nrex/regex.h +++ b/drivers/nrex/regex.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* regex.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* regex.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef REGEX_H #define REGEX_H diff --git a/drivers/ogg/bitwise.c b/drivers/ogg/bitwise.c index 3d02198094..145901d185 100644 --- a/drivers/ogg/bitwise.c +++ b/drivers/ogg/bitwise.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2014 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: packing variable sized words into an octet stream - last mod: $Id: bitwise.c 17287 2010-06-10 13:42:06Z tterribe $ + last mod: $Id: bitwise.c 19149 2014-05-27 16:26:23Z giles $ ********************************************************************/ @@ -93,11 +93,11 @@ void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){ b->ptr=b->buffer+b->endbyte; } - value&=mask[bits]; + value&=mask[bits]; bits+=b->endbit; - b->ptr[0]|=value<<b->endbit; - + b->ptr[0]|=value<<b->endbit; + if(bits>=8){ b->ptr[1]=(unsigned char)(value>>(8-b->endbit)); if(bits>=16){ @@ -136,11 +136,11 @@ void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits){ b->ptr=b->buffer+b->endbyte; } - value=(value&mask[bits])<<(32-bits); + value=(value&mask[bits])<<(32-bits); bits+=b->endbit; - b->ptr[0]|=value>>(24+b->endbit); - + b->ptr[0]|=value>>(24+b->endbit); + if(bits>=8){ b->ptr[1]=(unsigned char)(value>>(16+b->endbit)); if(bits>=16){ @@ -187,37 +187,41 @@ static void oggpack_writecopy_helper(oggpack_buffer *b, unsigned char *ptr=(unsigned char *)source; long bytes=bits/8; + long pbytes=(b->endbit+bits)/8; bits-=bytes*8; + /* expand storage up-front */ + if(b->endbyte+pbytes>=b->storage){ + void *ret; + if(!b->ptr) goto err; + if(b->storage>b->endbyte+pbytes+BUFFER_INCREMENT) goto err; + b->storage=b->endbyte+pbytes+BUFFER_INCREMENT; + ret=_ogg_realloc(b->buffer,b->storage); + if(!ret) goto err; + b->buffer=ret; + b->ptr=b->buffer+b->endbyte; + } + + /* copy whole octets */ if(b->endbit){ int i; /* unaligned copy. Do it the hard way. */ for(i=0;i<bytes;i++) - w(b,(unsigned long)(ptr[i]),8); + w(b,(unsigned long)(ptr[i]),8); }else{ /* aligned block copy */ - if(b->endbyte+bytes+1>=b->storage){ - void *ret; - if(!b->ptr) goto err; - if(b->endbyte+bytes+BUFFER_INCREMENT>b->storage) goto err; - b->storage=b->endbyte+bytes+BUFFER_INCREMENT; - ret=_ogg_realloc(b->buffer,b->storage); - if(!ret) goto err; - b->buffer=ret; - b->ptr=b->buffer+b->endbyte; - } - memmove(b->ptr,source,bytes); b->ptr+=bytes; b->endbyte+=bytes; *b->ptr=0; - } + + /* copy trailing bits */ if(bits){ if(msb) - w(b,(unsigned long)(ptr[bytes]>>(8-bits)),bits); + w(b,(unsigned long)(ptr[bytes]>>(8-bits)),bits); else - w(b,(unsigned long)(ptr[bytes]),bits); + w(b,(unsigned long)(ptr[bytes]),bits); } return; err: @@ -281,11 +285,11 @@ long oggpack_look(oggpack_buffer *b,int bits){ ret=b->ptr[0]>>b->endbit; if(bits>8){ - ret|=b->ptr[1]<<(8-b->endbit); + ret|=b->ptr[1]<<(8-b->endbit); if(bits>16){ - ret|=b->ptr[2]<<(16-b->endbit); + ret|=b->ptr[2]<<(16-b->endbit); if(bits>24){ - ret|=b->ptr[3]<<(24-b->endbit); + ret|=b->ptr[3]<<(24-b->endbit); if(bits>32 && b->endbit) ret|=b->ptr[4]<<(32-b->endbit); } @@ -312,11 +316,11 @@ long oggpackB_look(oggpack_buffer *b,int bits){ ret=b->ptr[0]<<(24+b->endbit); if(bits>8){ - ret|=b->ptr[1]<<(16+b->endbit); + ret|=b->ptr[1]<<(16+b->endbit); if(bits>16){ - ret|=b->ptr[2]<<(8+b->endbit); + ret|=b->ptr[2]<<(8+b->endbit); if(bits>24){ - ret|=b->ptr[3]<<(b->endbit); + ret|=b->ptr[3]<<(b->endbit); if(bits>32 && b->endbit) ret|=b->ptr[4]>>(8-b->endbit); } @@ -386,11 +390,11 @@ long oggpack_read(oggpack_buffer *b,int bits){ ret=b->ptr[0]>>b->endbit; if(bits>8){ - ret|=b->ptr[1]<<(8-b->endbit); + ret|=b->ptr[1]<<(8-b->endbit); if(bits>16){ - ret|=b->ptr[2]<<(16-b->endbit); + ret|=b->ptr[2]<<(16-b->endbit); if(bits>24){ - ret|=b->ptr[3]<<(24-b->endbit); + ret|=b->ptr[3]<<(24-b->endbit); if(bits>32 && b->endbit){ ret|=b->ptr[4]<<(32-b->endbit); } @@ -429,11 +433,11 @@ long oggpackB_read(oggpack_buffer *b,int bits){ ret=b->ptr[0]<<(24+b->endbit); if(bits>8){ - ret|=b->ptr[1]<<(16+b->endbit); + ret|=b->ptr[1]<<(16+b->endbit); if(bits>16){ - ret|=b->ptr[2]<<(8+b->endbit); + ret|=b->ptr[2]<<(8+b->endbit); if(bits>24){ - ret|=b->ptr[3]<<(b->endbit); + ret|=b->ptr[3]<<(b->endbit); if(bits>32 && b->endbit) ret|=b->ptr[4]>>(8-b->endbit); } @@ -511,7 +515,7 @@ long oggpackB_bytes(oggpack_buffer *b){ long oggpackB_bits(oggpack_buffer *b){ return oggpack_bits(b); } - + unsigned char *oggpack_get_buffer(oggpack_buffer *b){ return(b->buffer); } @@ -534,7 +538,7 @@ static int ilog(unsigned int v){ } return(ret); } - + oggpack_buffer o; oggpack_buffer r; @@ -581,7 +585,7 @@ void cliptest(unsigned long *b,int vals,int bits,int *comp,int compsize){ void cliptestB(unsigned long *b,int vals,int bits,int *comp,int compsize){ long bytes,i; unsigned char *buffer; - + oggpackB_reset(&o); for(i=0;i<vals;i++) oggpackB_write(&o,b[i],bits?bits:ilog(b[i])); @@ -613,9 +617,190 @@ void cliptestB(unsigned long *b,int vals,int bits,int *comp,int compsize){ if(oggpackB_bytes(&r)!=bytes)report("leftover bytes after read!\n"); } +void copytest(int prefill, int copy){ + oggpack_buffer source_write; + oggpack_buffer dest_write; + oggpack_buffer source_read; + oggpack_buffer dest_read; + unsigned char *source; + unsigned char *dest; + long source_bytes,dest_bytes; + int i; + + oggpack_writeinit(&source_write); + oggpack_writeinit(&dest_write); + + for(i=0;i<(prefill+copy+7)/8;i++) + oggpack_write(&source_write,(i^0x5a)&0xff,8); + source=oggpack_get_buffer(&source_write); + source_bytes=oggpack_bytes(&source_write); + + /* prefill */ + oggpack_writecopy(&dest_write,source,prefill); + + /* check buffers; verify end byte masking */ + dest=oggpack_get_buffer(&dest_write); + dest_bytes=oggpack_bytes(&dest_write); + if(dest_bytes!=(prefill+7)/8){ + fprintf(stderr,"wrong number of bytes after prefill! %ld!=%d\n",dest_bytes,(prefill+7)/8); + exit(1); + } + oggpack_readinit(&source_read,source,source_bytes); + oggpack_readinit(&dest_read,dest,dest_bytes); + + for(i=0;i<prefill;i+=8){ + int s=oggpack_read(&source_read,prefill-i<8?prefill-i:8); + int d=oggpack_read(&dest_read,prefill-i<8?prefill-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d); + exit(1); + } + } + if(prefill<dest_bytes){ + if(oggpack_read(&dest_read,dest_bytes-prefill)!=0){ + fprintf(stderr,"prefill=%d mismatch! trailing bits not zero\n",prefill); + exit(1); + } + } + + /* second copy */ + oggpack_writecopy(&dest_write,source,copy); + + /* check buffers; verify end byte masking */ + dest=oggpack_get_buffer(&dest_write); + dest_bytes=oggpack_bytes(&dest_write); + if(dest_bytes!=(copy+prefill+7)/8){ + fprintf(stderr,"wrong number of bytes after prefill+copy! %ld!=%d\n",dest_bytes,(copy+prefill+7)/8); + exit(1); + } + oggpack_readinit(&source_read,source,source_bytes); + oggpack_readinit(&dest_read,dest,dest_bytes); + + for(i=0;i<prefill;i+=8){ + int s=oggpack_read(&source_read,prefill-i<8?prefill-i:8); + int d=oggpack_read(&dest_read,prefill-i<8?prefill-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d); + exit(1); + } + } + + oggpack_readinit(&source_read,source,source_bytes); + for(i=0;i<copy;i+=8){ + int s=oggpack_read(&source_read,copy-i<8?copy-i:8); + int d=oggpack_read(&dest_read,copy-i<8?copy-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d copy=%d mismatch! byte %d, %x!=%x\n",prefill,copy,i/8,s,d); + exit(1); + } + } + + if(copy+prefill<dest_bytes){ + if(oggpack_read(&dest_read,dest_bytes-copy-prefill)!=0){ + fprintf(stderr,"prefill=%d copy=%d mismatch! trailing bits not zero\n",prefill,copy); + exit(1); + } + } + + oggpack_writeclear(&source_write); + oggpack_writeclear(&dest_write); + + +} + +void copytestB(int prefill, int copy){ + oggpack_buffer source_write; + oggpack_buffer dest_write; + oggpack_buffer source_read; + oggpack_buffer dest_read; + unsigned char *source; + unsigned char *dest; + long source_bytes,dest_bytes; + int i; + + oggpackB_writeinit(&source_write); + oggpackB_writeinit(&dest_write); + + for(i=0;i<(prefill+copy+7)/8;i++) + oggpackB_write(&source_write,(i^0x5a)&0xff,8); + source=oggpackB_get_buffer(&source_write); + source_bytes=oggpackB_bytes(&source_write); + + /* prefill */ + oggpackB_writecopy(&dest_write,source,prefill); + + /* check buffers; verify end byte masking */ + dest=oggpackB_get_buffer(&dest_write); + dest_bytes=oggpackB_bytes(&dest_write); + if(dest_bytes!=(prefill+7)/8){ + fprintf(stderr,"wrong number of bytes after prefill! %ld!=%d\n",dest_bytes,(prefill+7)/8); + exit(1); + } + oggpackB_readinit(&source_read,source,source_bytes); + oggpackB_readinit(&dest_read,dest,dest_bytes); + + for(i=0;i<prefill;i+=8){ + int s=oggpackB_read(&source_read,prefill-i<8?prefill-i:8); + int d=oggpackB_read(&dest_read,prefill-i<8?prefill-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d); + exit(1); + } + } + if(prefill<dest_bytes){ + if(oggpackB_read(&dest_read,dest_bytes-prefill)!=0){ + fprintf(stderr,"prefill=%d mismatch! trailing bits not zero\n",prefill); + exit(1); + } + } + + /* second copy */ + oggpackB_writecopy(&dest_write,source,copy); + + /* check buffers; verify end byte masking */ + dest=oggpackB_get_buffer(&dest_write); + dest_bytes=oggpackB_bytes(&dest_write); + if(dest_bytes!=(copy+prefill+7)/8){ + fprintf(stderr,"wrong number of bytes after prefill+copy! %ld!=%d\n",dest_bytes,(copy+prefill+7)/8); + exit(1); + } + oggpackB_readinit(&source_read,source,source_bytes); + oggpackB_readinit(&dest_read,dest,dest_bytes); + + for(i=0;i<prefill;i+=8){ + int s=oggpackB_read(&source_read,prefill-i<8?prefill-i:8); + int d=oggpackB_read(&dest_read,prefill-i<8?prefill-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d); + exit(1); + } + } + + oggpackB_readinit(&source_read,source,source_bytes); + for(i=0;i<copy;i+=8){ + int s=oggpackB_read(&source_read,copy-i<8?copy-i:8); + int d=oggpackB_read(&dest_read,copy-i<8?copy-i:8); + if(s!=d){ + fprintf(stderr,"prefill=%d copy=%d mismatch! byte %d, %x!=%x\n",prefill,copy,i/8,s,d); + exit(1); + } + } + + if(copy+prefill<dest_bytes){ + if(oggpackB_read(&dest_read,dest_bytes-copy-prefill)!=0){ + fprintf(stderr,"prefill=%d copy=%d mismatch! trailing bits not zero\n",prefill,copy); + exit(1); + } + } + + oggpackB_writeclear(&source_write); + oggpackB_writeclear(&dest_write); + +} + int main(void){ unsigned char *buffer; - long bytes,i; + long bytes,i,j; static unsigned long testbuffer1[]= {18,12,103948,4325,543,76,432,52,3,65,4,56,32,42,34,21,1,23,32,546,456,7, 567,56,8,8,55,3,52,342,341,4,265,7,67,86,2199,21,7,1,5,1,4}; @@ -761,7 +946,31 @@ int main(void){ exit(1); } oggpack_writeclear(&o); - fprintf(stderr,"ok.\n"); + fprintf(stderr,"ok."); + + /* this is partly glassbox; we're mostly concerned about the allocation boundaries */ + + fprintf(stderr,"\nTesting aligned writecopies (LSb): "); + for(i=0;i<71;i++) + for(j=0;j<5;j++) + copytest(j*8,i); + for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++) + for(j=0;j<5;j++) + copytest(j*8,i); + fprintf(stderr,"ok. "); + + fprintf(stderr,"\nTesting unaligned writecopies (LSb): "); + for(i=0;i<71;i++) + for(j=1;j<40;j++) + if(j&0x7) + copytest(j,i); + for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++) + for(j=1;j<40;j++) + if(j&0x7) + copytest(j,i); + + fprintf(stderr,"ok. \n"); + /********** lazy, cut-n-paste retest with MSb packing ***********/ @@ -846,12 +1055,34 @@ int main(void){ fprintf(stderr,"failed; read past end without -1.\n"); exit(1); } + fprintf(stderr,"ok."); oggpackB_writeclear(&o); - fprintf(stderr,"ok.\n\n"); + /* this is partly glassbox; we're mostly concerned about the allocation boundaries */ + + fprintf(stderr,"\nTesting aligned writecopies (MSb): "); + for(i=0;i<71;i++) + for(j=0;j<5;j++) + copytestB(j*8,i); + for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++) + for(j=0;j<5;j++) + copytestB(j*8,i); + fprintf(stderr,"ok. "); + + fprintf(stderr,"\nTesting unaligned writecopies (MSb): "); + for(i=0;i<71;i++) + for(j=1;j<40;j++) + if(j&0x7) + copytestB(j,i); + for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++) + for(j=1;j<40;j++) + if(j&0x7) + copytestB(j,i); + + fprintf(stderr,"ok. \n\n"); return(0); -} +} #endif /* _V_SELFTEST */ #undef BUFFER_INCREMENT diff --git a/drivers/ogg/framing.c b/drivers/ogg/framing.c index 25f0e88dbc..3a2f0a6058 100644 --- a/drivers/ogg/framing.c +++ b/drivers/ogg/framing.c @@ -12,7 +12,7 @@ function: code raw packets into framed OggSquish stream and decode Ogg streams back into raw packets - last mod: $Id: framing.c 17592 2010-11-01 20:27:54Z xiphmont $ + last mod: $Id: framing.c 18758 2013-01-08 16:29:56Z tterribe $ note: The CRC code is directly derived from public domain code by Ross Williams (ross@guest.adelaide.edu.au). See docs/framing.html @@ -21,6 +21,7 @@ ********************************************************************/ #include <stdlib.h> +#include <limits.h> #include <string.h> #include <ogg/ogg.h> @@ -61,7 +62,7 @@ int ogg_page_serialno(const ogg_page *og){ (og->header[16]<<16) | (og->header[17]<<24)); } - + long ogg_page_pageno(const ogg_page *og){ return(og->header[18] | (og->header[19]<<8) | @@ -76,16 +77,16 @@ long ogg_page_pageno(const ogg_page *og){ page, it's counted */ /* NOTE: -If a page consists of a packet begun on a previous page, and a new -packet begun (but not completed) on this page, the return will be: - ogg_page_packets(page) ==1, - ogg_page_continued(page) !=0 - -If a page happens to be a single packet that was begun on a -previous page, and spans to the next page (in the case of a three or -more page packet), the return will be: - ogg_page_packets(page) ==0, - ogg_page_continued(page) !=0 + If a page consists of a packet begun on a previous page, and a new + packet begun (but not completed) on this page, the return will be: + ogg_page_packets(page) ==1, + ogg_page_continued(page) !=0 + + If a page happens to be a single packet that was begun on a + previous page, and spans to the next page (in the case of a three or + more page packet), the return will be: + ogg_page_packets(page) ==0, + ogg_page_continued(page) !=0 */ int ogg_page_packets(const ogg_page *og){ @@ -205,7 +206,7 @@ int ogg_stream_init(ogg_stream_state *os,int serialno){ return(0); } return(-1); -} +} /* async/delayed error detection for the ogg_stream_state */ int ogg_stream_check(ogg_stream_state *os){ @@ -220,10 +221,10 @@ int ogg_stream_clear(ogg_stream_state *os){ if(os->lacing_vals)_ogg_free(os->lacing_vals); if(os->granule_vals)_ogg_free(os->granule_vals); - memset(os,0,sizeof(*os)); + memset(os,0,sizeof(*os)); } return(0); -} +} int ogg_stream_destroy(ogg_stream_state *os){ if(os){ @@ -231,44 +232,56 @@ int ogg_stream_destroy(ogg_stream_state *os){ _ogg_free(os); } return(0); -} +} /* Helpers for ogg_stream_encode; this keeps the structure and what's happening fairly clear */ -static int _os_body_expand(ogg_stream_state *os,int needed){ - if(os->body_storage<=os->body_fill+needed){ +static int _os_body_expand(ogg_stream_state *os,long needed){ + if(os->body_storage-needed<=os->body_fill){ + long body_storage; void *ret; - ret=_ogg_realloc(os->body_data,(os->body_storage+needed+1024)* - sizeof(*os->body_data)); + if(os->body_storage>LONG_MAX-needed){ + ogg_stream_clear(os); + return -1; + } + body_storage=os->body_storage+needed; + if(body_storage<LONG_MAX-1024)body_storage+=1024; + ret=_ogg_realloc(os->body_data,body_storage*sizeof(*os->body_data)); if(!ret){ ogg_stream_clear(os); return -1; } - os->body_storage+=(needed+1024); + os->body_storage=body_storage; os->body_data=ret; } return 0; } -static int _os_lacing_expand(ogg_stream_state *os,int needed){ - if(os->lacing_storage<=os->lacing_fill+needed){ +static int _os_lacing_expand(ogg_stream_state *os,long needed){ + if(os->lacing_storage-needed<=os->lacing_fill){ + long lacing_storage; void *ret; - ret=_ogg_realloc(os->lacing_vals,(os->lacing_storage+needed+32)* - sizeof(*os->lacing_vals)); + if(os->lacing_storage>LONG_MAX-needed){ + ogg_stream_clear(os); + return -1; + } + lacing_storage=os->lacing_storage+needed; + if(lacing_storage<LONG_MAX-32)lacing_storage+=32; + ret=_ogg_realloc(os->lacing_vals,lacing_storage*sizeof(*os->lacing_vals)); if(!ret){ ogg_stream_clear(os); return -1; } os->lacing_vals=ret; - ret=_ogg_realloc(os->granule_vals,(os->lacing_storage+needed+32)* + ret=_ogg_realloc(os->granule_vals,lacing_storage* sizeof(*os->granule_vals)); if(!ret){ ogg_stream_clear(os); return -1; } os->granule_vals=ret; - os->lacing_storage+=(needed+32); + os->lacing_storage=lacing_storage; } return 0; } @@ -287,12 +300,12 @@ void ogg_page_checksum_set(ogg_page *og){ og->header[23]=0; og->header[24]=0; og->header[25]=0; - + for(i=0;i<og->header_len;i++) crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->header[i]]; for(i=0;i<og->body_len;i++) crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->body[i]]; - + og->header[22]=(unsigned char)(crc_reg&0xff); og->header[23]=(unsigned char)((crc_reg>>8)&0xff); og->header[24]=(unsigned char)((crc_reg>>16)&0xff); @@ -304,26 +317,31 @@ void ogg_page_checksum_set(ogg_page *og){ int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count, long e_o_s, ogg_int64_t granulepos){ - int bytes = 0, lacing_vals, i; + long bytes = 0, lacing_vals; + int i; if(ogg_stream_check(os)) return -1; if(!iov) return 0; - - for (i = 0; i < count; ++i) bytes += (int)iov[i].iov_len; + + for (i = 0; i < count; ++i){ + if(iov[i].iov_len>LONG_MAX) return -1; + if(bytes>LONG_MAX-(long)iov[i].iov_len) return -1; + bytes += (long)iov[i].iov_len; + } lacing_vals=bytes/255+1; if(os->body_returned){ /* advance packet data according to the body_returned pointer. We had to keep it around to return a pointer into the buffer last call */ - + os->body_fill-=os->body_returned; if(os->body_fill) memmove(os->body_data,os->body_data+os->body_returned, os->body_fill); os->body_returned=0; } - + /* make sure we have the buffer storage */ if(_os_body_expand(os,bytes) || _os_lacing_expand(os,lacing_vals)) return -1; @@ -467,33 +485,33 @@ static int ogg_stream_flush_i(ogg_stream_state *os,ogg_page *og, int force, int pageno>>=8; } } - + /* zero for computation; filled in later */ os->header[22]=0; os->header[23]=0; os->header[24]=0; os->header[25]=0; - + /* segment table */ os->header[26]=(unsigned char)(vals&0xff); for(i=0;i<vals;i++) bytes+=os->header[i+27]=(unsigned char)(os->lacing_vals[i]&0xff); - + /* set pointers in the ogg_page struct */ og->header=os->header; og->header_len=os->header_fill=vals+27; og->body=os->body_data+os->body_returned; og->body_len=bytes; - + /* advance the lacing data and set the body_returned pointer */ - + os->lacing_fill-=vals; memmove(os->lacing_vals,os->lacing_vals+vals,os->lacing_fill*sizeof(*os->lacing_vals)); memmove(os->granule_vals,os->granule_vals+vals,os->lacing_fill*sizeof(*os->granule_vals)); os->body_returned+=bytes; - + /* calculate the checksum */ - + ogg_page_checksum_set(og); /* done */ @@ -512,12 +530,20 @@ static int ogg_stream_flush_i(ogg_stream_state *os,ogg_page *og, int force, int since ogg_stream_flush will flush the last page in a stream even if it's undersized, you almost certainly want to use ogg_stream_pageout (and *not* ogg_stream_flush) unless you specifically need to flush - an page regardless of size in the middle of a stream. */ + a page regardless of size in the middle of a stream. */ int ogg_stream_flush(ogg_stream_state *os,ogg_page *og){ return ogg_stream_flush_i(os,og,1,4096); } +/* Like the above, but an argument is provided to adjust the nominal + page size for applications which are smart enough to provide their + own delay based flushing */ + +int ogg_stream_flush_fill(ogg_stream_state *os,ogg_page *og, int nfill){ + return ogg_stream_flush_i(os,og,1,nfill); +} + /* This constructs pages from buffered packet segments. The pointers returned are to static buffers; do not free. The returned buffers are good only until the next call (using the same ogg_stream_state) */ @@ -533,10 +559,10 @@ int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og){ return(ogg_stream_flush_i(os,og,force,4096)); } -/* Like the above, but an argument is provided to adjust the nominal +/* Like the above, but an argument is provided to adjust the nominal page size for applications which are smart enough to provide their own delay based flushing */ - + int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill){ int force=0; if(ogg_stream_check(os)) return 0; @@ -645,7 +671,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long bytes){ -n) skipped n bytes 0) page not ready; more data (no bytes skipped) n) page synced at current location; page length n bytes - + */ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){ @@ -654,54 +680,54 @@ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){ long bytes=oy->fill-oy->returned; if(ogg_sync_check(oy))return 0; - + if(oy->headerbytes==0){ int headerbytes,i; if(bytes<27)return(0); /* not enough for a header */ - + /* verify capture pattern */ if(memcmp(page,"OggS",4))goto sync_fail; - + headerbytes=page[26]+27; if(bytes<headerbytes)return(0); /* not enough for header + seg table */ - + /* count up body length in the segment table */ - + for(i=0;i<page[26];i++) oy->bodybytes+=page[27+i]; oy->headerbytes=headerbytes; } - + if(oy->bodybytes+oy->headerbytes>bytes)return(0); - + /* The whole test page is buffered. Verify the checksum */ { /* Grab the checksum bytes, set the header field to zero */ char chksum[4]; ogg_page log; - + memcpy(chksum,page+22,4); memset(page+22,0,4); - + /* set up a temp page struct and recompute the checksum */ log.header=page; log.header_len=oy->headerbytes; log.body=page+oy->headerbytes; log.body_len=oy->bodybytes; ogg_page_checksum_set(&log); - + /* Compare */ if(memcmp(chksum,page+22,4)){ /* D'oh. Mismatch! Corrupt page (or miscapture and not a page at all) */ /* replace the computed checksum with the one actually read in */ memcpy(page+22,chksum,4); - + /* Bad checksum. Lose sync */ goto sync_fail; } } - + /* yes, have a whole page all ready to go */ { unsigned char *page=oy->data+oy->returned; @@ -720,12 +746,12 @@ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){ oy->bodybytes=0; return(bytes); } - + sync_fail: - + oy->headerbytes=0; oy->bodybytes=0; - + /* search for possible capture */ next=memchr(page+1,'O',bytes-1); if(!next) @@ -764,7 +790,7 @@ int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og){ /* need more data */ return(0); } - + /* head did not start a synced page... skipped some bytes */ if(!oy->unsynced){ oy->unsynced=1; @@ -793,7 +819,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){ int serialno=ogg_page_serialno(og); long pageno=ogg_page_pageno(og); int segments=header[26]; - + if(ogg_stream_check(os)) return -1; /* clean up 'returned data' */ @@ -848,7 +874,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){ /* are we a 'continued packet' page? If so, we may need to skip some segments */ if(continued){ - if(os->lacing_fill<1 || + if(os->lacing_fill<1 || os->lacing_vals[os->lacing_fill-1]==0x400){ bos=0; for(;segptr<segments;segptr++){ @@ -862,7 +888,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){ } } } - + if(bodysize){ if(_os_body_expand(os,bodysize)) return -1; memcpy(os->body_data+os->body_fill,body,bodysize); @@ -875,20 +901,20 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){ int val=header[27+segptr]; os->lacing_vals[os->lacing_fill]=val; os->granule_vals[os->lacing_fill]=-1; - + if(bos){ os->lacing_vals[os->lacing_fill]|=0x100; bos=0; } - + if(val<255)saved=os->lacing_fill; - + os->lacing_fill++; segptr++; - + if(val<255)os->lacing_packet=os->lacing_fill; } - + /* set the granulepos on the last granuleval of the last full packet */ if(saved!=-1){ os->granule_vals[saved]=granulepos; @@ -1493,7 +1519,7 @@ void test_pack(const int *pl, const int **headers, int byteskip, /* construct a test packet */ ogg_packet op; int len=pl[i]; - + op.packet=data+inptr; op.bytes=len; op.e_o_s=(pl[i+1]<0?1:0); @@ -1509,7 +1535,7 @@ void test_pack(const int *pl, const int **headers, int byteskip, /* retrieve any finished pages */ { ogg_page og; - + while(ogg_stream_pageout(&os_en,&og)){ /* We have a page. Check it carefully */ @@ -1558,7 +1584,7 @@ void test_pack(const int *pl, const int **headers, int byteskip, if(ret==0)break; if(ret<0)continue; /* got a page. Happy happy. Verify that it's good. */ - + fprintf(stderr,"(%d), ",pageout); check_page(data+deptr,headers[pageout],&og_de); @@ -1572,7 +1598,7 @@ void test_pack(const int *pl, const int **headers, int byteskip, while(ogg_stream_packetpeek(&os_de,&op_de2)>0){ ogg_stream_packetpeek(&os_de,NULL); ogg_stream_packetout(&os_de,&op_de); /* just catching them all */ - + /* verify peek and out match */ if(memcmp(&op_de,&op_de2,sizeof(op_de))){ fprintf(stderr,"packetout != packetpeek! pos=%ld\n", @@ -1598,7 +1624,7 @@ void test_pack(const int *pl, const int **headers, int byteskip, } bosflag=1; depacket+=op_de.bytes; - + /* check eos flag */ if(eosflag){ fprintf(stderr,"Multiple decoded packets with eos flag!\n"); @@ -1745,7 +1771,7 @@ int main(void){ 10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,50,-1}; const int *headret[]={head1_5,head2_5,head3_5,NULL}; - + fprintf(stderr,"testing max packet segments... "); test_pack(packets,headret,0,0,0); } @@ -1754,7 +1780,7 @@ int main(void){ /* packet that overspans over an entire page */ const int packets[]={0,100,130049,259,255,-1}; const int *headret[]={head1_6,head2_6,head3_6,head4_6,NULL}; - + fprintf(stderr,"testing very large packets... "); test_pack(packets,headret,0,0,0); } @@ -1764,7 +1790,7 @@ int main(void){ found by Josh Coalson) */ const int packets[]={0,100,130049,259,255,-1}; const int *headret[]={head1_6,head2_6,head3_6,head4_6,NULL}; - + fprintf(stderr,"testing continuation resync in very large packets... "); test_pack(packets,headret,100,2,3); } @@ -1773,7 +1799,7 @@ int main(void){ /* term only page. why not? */ const int packets[]={0,100,64770,-1}; const int *headret[]={head1_7,head2_7,head3_7,NULL}; - + fprintf(stderr,"testing zero data page (1 nil packet)... "); test_pack(packets,headret,0,0,0); } @@ -1786,13 +1812,13 @@ int main(void){ int pl[]={0, 1,1,98,4079, 1,1,2954,2057, 76,34,912,0,234,1000,1000, 1000,300,-1}; int inptr=0,i,j; ogg_page og[5]; - + ogg_stream_reset(&os_en); for(i=0;pl[i]!=-1;i++){ ogg_packet op; int len=pl[i]; - + op.packet=data+inptr; op.bytes=len; op.e_o_s=(pl[i+1]<0?1:0); @@ -1840,7 +1866,7 @@ int main(void){ ogg_stream_pagein(&os_de,&temp); /* do we get the expected results/packets? */ - + if(ogg_stream_packetout(&os_de,&test)!=1)error(); checkpacket(&test,0,0,0); if(ogg_stream_packetout(&os_de,&test)!=1)error(); @@ -1991,13 +2017,13 @@ int main(void){ fprintf(stderr,"ok.\n"); } - + /* Test recapture: garbage + page */ { ogg_page og_de; fprintf(stderr,"Testing search for capture... "); - ogg_sync_reset(&oy); - + ogg_sync_reset(&oy); + /* 'garbage' */ memcpy(ogg_sync_buffer(&oy,og[1].body_len),og[1].body, og[1].body_len); @@ -2033,7 +2059,7 @@ int main(void){ { ogg_page og_de; fprintf(stderr,"Testing recapture... "); - ogg_sync_reset(&oy); + ogg_sync_reset(&oy); memcpy(ogg_sync_buffer(&oy,og[1].header_len),og[1].header, og[1].header_len); @@ -2077,13 +2103,9 @@ int main(void){ free_page(&og[i]); } } - } + } return(0); } #endif - - - - diff --git a/drivers/ogg/ogg.h b/drivers/ogg/ogg.h index cea5c16edc..cea4ebed75 100644 --- a/drivers/ogg/ogg.h +++ b/drivers/ogg/ogg.h @@ -11,7 +11,7 @@ ******************************************************************** function: toplevel libogg include - last mod: $Id: ogg.h 17571 2010-10-27 13:28:20Z xiphmont $ + last mod: $Id: ogg.h 18044 2011-08-01 17:55:20Z gmaxwell $ ********************************************************************/ #ifndef _OGG_H @@ -161,6 +161,7 @@ extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og); extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill); extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og); +extern int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int nfill); /* Ogg BITSTREAM PRIMITIVES: decoding **************************/ diff --git a/drivers/ogg/os_types.h b/drivers/ogg/os_types.h index d6691b703d..8bf82107e5 100644 --- a/drivers/ogg/os_types.h +++ b/drivers/ogg/os_types.h @@ -11,7 +11,7 @@ ******************************************************************** function: #ifdef jail to whip a few platforms into the UNIX ideal. - last mod: $Id: os_types.h 17712 2010-12-03 17:10:02Z xiphmont $ + last mod: $Id: os_types.h 19098 2014-02-26 19:06:45Z giles $ ********************************************************************/ #ifndef _OS_TYPES_H @@ -24,7 +24,7 @@ #define _ogg_realloc realloc #define _ogg_free free -#if defined(_WIN32) +#if defined(_WIN32) # if defined(__CYGWIN__) # include <stdint.h> diff --git a/drivers/openssl/register_openssl.cpp b/drivers/openssl/register_openssl.cpp index ed2150bef5..0d2f9fd537 100644 --- a/drivers/openssl/register_openssl.cpp +++ b/drivers/openssl/register_openssl.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* register_openssl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "register_openssl.h" #include "stream_peer_openssl.h" diff --git a/drivers/openssl/register_openssl.h b/drivers/openssl/register_openssl.h index e547a2b750..a66ca1e9c0 100644 --- a/drivers/openssl/register_openssl.h +++ b/drivers/openssl/register_openssl.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* register_openssl.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef REGISTER_OPENSSL_H #define REGISTER_OPENSSL_H diff --git a/drivers/openssl/stream_peer_openssl.cpp b/drivers/openssl/stream_peer_openssl.cpp index aad3a11b7e..67f58b6028 100644 --- a/drivers/openssl/stream_peer_openssl.cpp +++ b/drivers/openssl/stream_peer_openssl.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* stream_peer_openssl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifdef OPENSSL_ENABLED #include "stream_peer_openssl.h" //hostname matching code from curl diff --git a/drivers/openssl/stream_peer_openssl.h b/drivers/openssl/stream_peer_openssl.h index 20266ee584..f1f25f4fc5 100644 --- a/drivers/openssl/stream_peer_openssl.h +++ b/drivers/openssl/stream_peer_openssl.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* stream_peer_openssl.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef STREAM_PEER_OPEN_SSL_H #define STREAM_PEER_OPEN_SSL_H diff --git a/drivers/png/SCsub b/drivers/png/SCsub index 9dbffeed1f..96ef9fa5f8 100644 --- a/drivers/png/SCsub +++ b/drivers/png/SCsub @@ -3,7 +3,6 @@ Import('env_drivers') png_sources = [ - "png/example.c", "png/png.c", "png/pngerror.c", "png/pngget.c", diff --git a/drivers/png/example.c b/drivers/png/example.c deleted file mode 100644 index 7171d9847e..0000000000 --- a/drivers/png/example.c +++ /dev/null @@ -1,879 +0,0 @@ - -#if 0 /* in case someone actually tries to compile this */ - -/* example.c - an example of using libpng - * Last changed in libpng 1.5.19 [August 21, 2014] - * Maintained 1998-2014 Glenn Randers-Pehrson - * Maintained 1996, 1997 Andreas Dilger - * Written 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - */ - -/* This is an example of how to use libpng to read and write PNG files. - * The file libpng-manual.txt is much more verbose then this. If you have not - * read it, do so first. This was designed to be a starting point of an - * implementation. This is not officially part of libpng, is hereby placed - * in the public domain, and therefore does not require a copyright notice. - * To the extent possible under law, the authors have waived all copyright and - * related or neighboring rights to this file. - * - * This file does not currently compile, because it is missing certain - * parts, like allocating memory to hold an image. You will have to - * supply these parts to get it to compile. For an example of a minimal - * working PNG reader/writer, see pngtest.c, included in this distribution; - * see also the programs in the contrib directory. - */ - -#define _POSIX_SOURCE 1 /* libpng and zlib are POSIX-compliant. You may - * change this if your application uses non-POSIX - * extensions. */ - -#include "png.h" - - /* The png_jmpbuf() macro, used in error handling, became available in - * libpng version 1.0.6. If you want to be able to run your code with older - * versions of libpng, you must define the macro yourself (but only if it - * is not already defined by libpng!). - */ - -#ifndef png_jmpbuf -# define png_jmpbuf(png_ptr) ((png_ptr)->png_jmpbuf) -#endif - -/* Check to see if a file is a PNG file using png_sig_cmp(). png_sig_cmp() - * returns zero if the image is a PNG and nonzero if it isn't a PNG. - * - * The function check_if_png() shown here, but not used, returns nonzero (true) - * if the file can be opened and is a PNG, 0 (false) otherwise. - * - * If this call is successful, and you are going to keep the file open, - * you should call png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK); once - * you have created the png_ptr, so that libpng knows your application - * has read that many bytes from the start of the file. Make sure you - * don't call png_set_sig_bytes() with more than 8 bytes read or give it - * an incorrect number of bytes read, or you will either have read too - * many bytes (your fault), or you are telling libpng to read the wrong - * number of magic bytes (also your fault). - * - * Many applications already read the first 2 or 4 bytes from the start - * of the image to determine the file type, so it would be easiest just - * to pass the bytes to png_sig_cmp() or even skip that if you know - * you have a PNG file, and call png_set_sig_bytes(). - */ -#define PNG_BYTES_TO_CHECK 4 -int check_if_png(char *file_name, FILE **fp) -{ - char buf[PNG_BYTES_TO_CHECK]; - - /* Open the prospective PNG file. */ - if ((*fp = fopen(file_name, "rb")) == NULL) - return 0; - - /* Read in some of the signature bytes */ - if (fread(buf, 1, PNG_BYTES_TO_CHECK, *fp) != PNG_BYTES_TO_CHECK) - return 0; - - /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature. - Return nonzero (true) if they match */ - - return(!png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK)); -} - -/* Read a PNG file. You may want to return an error code if the read - * fails (depending upon the failure). There are two "prototypes" given - * here - one where we are given the filename, and we need to open the - * file, and the other where we are given an open file (possibly with - * some or all of the magic bytes read - see comments above). - */ -#ifdef open_file /* prototype 1 */ -void read_png(char *file_name) /* We need to open the file */ -{ - png_structp png_ptr; - png_infop info_ptr; - int sig_read = 0; - png_uint_32 width, height; - int bit_depth, color_type, interlace_type; - FILE *fp; - - if ((fp = fopen(file_name, "rb")) == NULL) - return (ERROR); - -#else no_open_file /* prototype 2 */ -void read_png(FILE *fp, int sig_read) /* File is already open */ -{ - png_structp png_ptr; - png_infop info_ptr; - png_uint_32 width, height; - int bit_depth, color_type, interlace_type; -#endif no_open_file /* Only use one prototype! */ - - /* Create and initialize the png_struct with the desired error handler - * functions. If you want to use the default stderr and longjump method, - * you can supply NULL for the last three parameters. We also supply the - * the compiler header file version, so that we know if the application - * was compiled with a compatible version of the library. REQUIRED - */ - png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, - png_voidp user_error_ptr, user_error_fn, user_warning_fn); - - if (png_ptr == NULL) - { - fclose(fp); - return (ERROR); - } - - /* Allocate/initialize the memory for image information. REQUIRED. */ - info_ptr = png_create_info_struct(png_ptr); - if (info_ptr == NULL) - { - fclose(fp); - png_destroy_read_struct(&png_ptr, NULL, NULL); - return (ERROR); - } - - /* Set error handling if you are using the setjmp/longjmp method (this is - * the normal method of doing things with libpng). REQUIRED unless you - * set up your own error handlers in the png_create_read_struct() earlier. - */ - - if (setjmp(png_jmpbuf(png_ptr))) - { - /* Free all of the memory associated with the png_ptr and info_ptr */ - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); - fclose(fp); - /* If we get here, we had a problem reading the file */ - return (ERROR); - } - - /* One of the following I/O initialization methods is REQUIRED */ -#ifdef streams /* PNG file I/O method 1 */ - /* Set up the input control if you are using standard C streams */ - png_init_io(png_ptr, fp); - -#else no_streams /* PNG file I/O method 2 */ - /* If you are using replacement read functions, instead of calling - * png_init_io() here you would call: - */ - png_set_read_fn(png_ptr, (void *)user_io_ptr, user_read_fn); - /* where user_io_ptr is a structure you want available to the callbacks */ -#endif no_streams /* Use only one I/O method! */ - - /* If we have already read some of the signature */ - png_set_sig_bytes(png_ptr, sig_read); - -#ifdef hilevel - /* - * If you have enough memory to read in the entire image at once, - * and you need to specify only transforms that can be controlled - * with one of the PNG_TRANSFORM_* bits (this presently excludes - * quantizing, filling, setting background, and doing gamma - * adjustment), then you can read the entire image (including - * pixels) into the info structure with this call: - */ - png_read_png(png_ptr, info_ptr, png_transforms, NULL); - -#else - /* OK, you're doing it the hard way, with the lower-level functions */ - - /* The call to png_read_info() gives us all of the information from the - * PNG file before the first IDAT (image data chunk). REQUIRED - */ - png_read_info(png_ptr, info_ptr); - - png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, - &interlace_type, NULL, NULL); - - /* Set up the data transformations you want. Note that these are all - * optional. Only call them if you want/need them. Many of the - * transformations only work on specific types of images, and many - * are mutually exclusive. - */ - - /* Tell libpng to strip 16 bits/color files down to 8 bits/color. - * Use accurate scaling if it's available, otherwise just chop off the - * low byte. - */ -#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED - png_set_scale_16(png_ptr); -#else - png_set_strip_16(png_ptr); -#endif - - /* Strip alpha bytes from the input data without combining with the - * background (not recommended). - */ - png_set_strip_alpha(png_ptr); - - /* Extract multiple pixels with bit depths of 1, 2, and 4 from a single - * byte into separate bytes (useful for paletted and grayscale images). - */ - png_set_packing(png_ptr); - - /* Change the order of packed pixels to least significant bit first - * (not useful if you are using png_set_packing). */ - png_set_packswap(png_ptr); - - /* Expand paletted colors into true RGB triplets */ - if (color_type == PNG_COLOR_TYPE_PALETTE) - png_set_palette_to_rgb(png_ptr); - - /* Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel */ - if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) - png_set_expand_gray_1_2_4_to_8(png_ptr); - - /* Expand paletted or RGB images with transparency to full alpha channels - * so the data will be available as RGBA quartets. - */ - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) - png_set_tRNS_to_alpha(png_ptr); - - /* Set the background color to draw transparent and alpha images over. - * It is possible to set the red, green, and blue components directly - * for paletted images instead of supplying a palette index. Note that - * even if the PNG file supplies a background, you are not required to - * use it - you should use the (solid) application background if it has one. - */ - - png_color_16 my_background, *image_background; - - if (png_get_bKGD(png_ptr, info_ptr, &image_background)) - png_set_background(png_ptr, image_background, - PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); - else - png_set_background(png_ptr, &my_background, - PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0); - - /* Some suggestions as to how to get a screen gamma value - * - * Note that screen gamma is the display_exponent, which includes - * the CRT_exponent and any correction for viewing conditions - */ - if (/* We have a user-defined screen gamma value */) - { - screen_gamma = user-defined screen_gamma; - } - /* This is one way that applications share the same screen gamma value */ - else if ((gamma_str = getenv("SCREEN_GAMMA")) != NULL) - { - screen_gamma = atof(gamma_str); - } - /* If we don't have another value */ - else - { - screen_gamma = PNG_DEFAULT_sRGB; /* A good guess for a PC monitor - in a dimly lit room */ - screen_gamma = PNG_GAMMA_MAC_18 or 1.0; /* Good guesses for Mac systems */ - } - - /* Tell libpng to handle the gamma conversion for you. The final call - * is a good guess for PC generated images, but it should be configurable - * by the user at run time by the user. It is strongly suggested that - * your application support gamma correction. - */ - - int intent; - - if (png_get_sRGB(png_ptr, info_ptr, &intent)) - png_set_gamma(png_ptr, screen_gamma, PNG_DEFAULT_sRGB); - else - { - double image_gamma; - if (png_get_gAMA(png_ptr, info_ptr, &image_gamma)) - png_set_gamma(png_ptr, screen_gamma, image_gamma); - else - png_set_gamma(png_ptr, screen_gamma, 0.45455); - } - -#ifdef PNG_READ_QUANTIZE_SUPPORTED - /* Quantize RGB files down to 8-bit palette or reduce palettes - * to the number of colors available on your screen. - */ - if (color_type & PNG_COLOR_MASK_COLOR) - { - int num_palette; - png_colorp palette; - - /* This reduces the image to the application supplied palette */ - if (/* We have our own palette */) - { - /* An array of colors to which the image should be quantized */ - png_color std_color_cube[MAX_SCREEN_COLORS]; - - png_set_quantize(png_ptr, std_color_cube, MAX_SCREEN_COLORS, - MAX_SCREEN_COLORS, NULL, 0); - } - /* This reduces the image to the palette supplied in the file */ - else if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) - { - png_uint_16p histogram = NULL; - - png_get_hIST(png_ptr, info_ptr, &histogram); - - png_set_quantize(png_ptr, palette, num_palette, - max_screen_colors, histogram, 0); - } - } -#endif /* PNG_READ_QUANTIZE_SUPPORTED */ - - /* Invert monochrome files to have 0 as white and 1 as black */ - png_set_invert_mono(png_ptr); - - /* If you want to shift the pixel values from the range [0,255] or - * [0,65535] to the original [0,7] or [0,31], or whatever range the - * colors were originally in: - */ - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_sBIT)) - { - png_color_8p sig_bit_p; - - png_get_sBIT(png_ptr, info_ptr, &sig_bit_p); - png_set_shift(png_ptr, sig_bit_p); - } - - /* Flip the RGB pixels to BGR (or RGBA to BGRA) */ - if (color_type & PNG_COLOR_MASK_COLOR) - png_set_bgr(png_ptr); - - /* Swap the RGBA or GA data to ARGB or AG (or BGRA to ABGR) */ - png_set_swap_alpha(png_ptr); - - /* Swap bytes of 16-bit files to least significant byte first */ - png_set_swap(png_ptr); - - /* Add filler (or alpha) byte (before/after each RGB triplet) */ - png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER); - -#ifdef PNG_READ_INTERLACING_SUPPORTED - /* Turn on interlace handling. REQUIRED if you are not using - * png_read_image(). To see how to handle interlacing passes, - * see the png_read_row() method below: - */ - number_passes = png_set_interlace_handling(png_ptr); -#else - number_passes = 1; -#endif /* PNG_READ_INTERLACING_SUPPORTED */ - - - /* Optional call to gamma correct and add the background to the palette - * and update info structure. REQUIRED if you are expecting libpng to - * update the palette for you (ie you selected such a transform above). - */ - png_read_update_info(png_ptr, info_ptr); - - /* Allocate the memory to hold the image using the fields of info_ptr. */ - - /* The easiest way to read the image: */ - png_bytep row_pointers[height]; - - /* Clear the pointer array */ - for (row = 0; row < height; row++) - row_pointers[row] = NULL; - - for (row = 0; row < height; row++) - row_pointers[row] = png_malloc(png_ptr, png_get_rowbytes(png_ptr, - info_ptr)); - - /* Now it's time to read the image. One of these methods is REQUIRED */ -#ifdef entire /* Read the entire image in one go */ - png_read_image(png_ptr, row_pointers); - -#else no_entire /* Read the image one or more scanlines at a time */ - /* The other way to read images - deal with interlacing: */ - - for (pass = 0; pass < number_passes; pass++) - { -#ifdef single /* Read the image a single row at a time */ - for (y = 0; y < height; y++) - { - png_read_rows(png_ptr, &row_pointers[y], NULL, 1); - } - -#else no_single /* Read the image several rows at a time */ - for (y = 0; y < height; y += number_of_rows) - { -#ifdef sparkle /* Read the image using the "sparkle" effect. */ - png_read_rows(png_ptr, &row_pointers[y], NULL, - number_of_rows); -#else no_sparkle /* Read the image using the "rectangle" effect */ - png_read_rows(png_ptr, NULL, &row_pointers[y], - number_of_rows); -#endif no_sparkle /* Use only one of these two methods */ - } - - /* If you want to display the image after every pass, do so here */ -#endif no_single /* Use only one of these two methods */ - } -#endif no_entire /* Use only one of these two methods */ - - /* Read rest of file, and get additional chunks in info_ptr - REQUIRED */ - png_read_end(png_ptr, info_ptr); -#endif hilevel - - /* At this point you have read the entire image */ - - /* Clean up after the read, and free any memory allocated - REQUIRED */ - png_destroy_read_struct(&png_ptr, &info_ptr, NULL); - - /* Close the file */ - fclose(fp); - - /* That's it */ - return (OK); -} - -/* Progressively read a file */ - -int -initialize_png_reader(png_structp *png_ptr, png_infop *info_ptr) -{ - /* Create and initialize the png_struct with the desired error handler - * functions. If you want to use the default stderr and longjump method, - * you can supply NULL for the last three parameters. We also check that - * the library version is compatible in case we are using dynamically - * linked libraries. - */ - *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, - png_voidp user_error_ptr, user_error_fn, user_warning_fn); - - if (*png_ptr == NULL) - { - *info_ptr = NULL; - return (ERROR); - } - - *info_ptr = png_create_info_struct(png_ptr); - - if (*info_ptr == NULL) - { - png_destroy_read_struct(png_ptr, info_ptr, NULL); - return (ERROR); - } - - if (setjmp(png_jmpbuf((*png_ptr)))) - { - png_destroy_read_struct(png_ptr, info_ptr, NULL); - return (ERROR); - } - - /* This one's new. You will need to provide all three - * function callbacks, even if you aren't using them all. - * If you aren't using all functions, you can specify NULL - * parameters. Even when all three functions are NULL, - * you need to call png_set_progressive_read_fn(). - * These functions shouldn't be dependent on global or - * static variables if you are decoding several images - * simultaneously. You should store stream specific data - * in a separate struct, given as the second parameter, - * and retrieve the pointer from inside the callbacks using - * the function png_get_progressive_ptr(png_ptr). - */ - png_set_progressive_read_fn(*png_ptr, (void *)stream_data, - info_callback, row_callback, end_callback); - - return (OK); -} - -int -process_data(png_structp *png_ptr, png_infop *info_ptr, - png_bytep buffer, png_uint_32 length) -{ - if (setjmp(png_jmpbuf((*png_ptr)))) - { - /* Free the png_ptr and info_ptr memory on error */ - png_destroy_read_struct(png_ptr, info_ptr, NULL); - return (ERROR); - } - - /* This one's new also. Simply give it chunks of data as - * they arrive from the data stream (in order, of course). - * On segmented machines, don't give it any more than 64K. - * The library seems to run fine with sizes of 4K, although - * you can give it much less if necessary (I assume you can - * give it chunks of 1 byte, but I haven't tried with less - * than 256 bytes yet). When this function returns, you may - * want to display any rows that were generated in the row - * callback, if you aren't already displaying them there. - */ - png_process_data(*png_ptr, *info_ptr, buffer, length); - return (OK); -} - -info_callback(png_structp png_ptr, png_infop info) -{ - /* Do any setup here, including setting any of the transformations - * mentioned in the Reading PNG files section. For now, you _must_ - * call either png_start_read_image() or png_read_update_info() - * after all the transformations are set (even if you don't set - * any). You may start getting rows before png_process_data() - * returns, so this is your last chance to prepare for that. - */ -} - -row_callback(png_structp png_ptr, png_bytep new_row, - png_uint_32 row_num, int pass) -{ - /* - * This function is called for every row in the image. If the - * image is interlaced, and you turned on the interlace handler, - * this function will be called for every row in every pass. - * - * In this function you will receive a pointer to new row data from - * libpng called new_row that is to replace a corresponding row (of - * the same data format) in a buffer allocated by your application. - * - * The new row data pointer "new_row" may be NULL, indicating there is - * no new data to be replaced (in cases of interlace loading). - * - * If new_row is not NULL then you need to call - * png_progressive_combine_row() to replace the corresponding row as - * shown below: - */ - - /* Get pointer to corresponding row in our - * PNG read buffer. - */ - png_bytep old_row = ((png_bytep *)our_data)[row_num]; - -#ifdef PNG_READ_INTERLACING_SUPPORTED - /* If both rows are allocated then copy the new row - * data to the corresponding row data. - */ - if ((old_row != NULL) && (new_row != NULL)) - png_progressive_combine_row(png_ptr, old_row, new_row); - - /* - * The rows and passes are called in order, so you don't really - * need the row_num and pass, but I'm supplying them because it - * may make your life easier. - * - * For the non-NULL rows of interlaced images, you must call - * png_progressive_combine_row() passing in the new row and the - * old row, as demonstrated above. You can call this function for - * NULL rows (it will just return) and for non-interlaced images - * (it just does the png_memcpy for you) if it will make the code - * easier. Thus, you can just do this for all cases: - */ - - png_progressive_combine_row(png_ptr, old_row, new_row); - - /* where old_row is what was displayed for previous rows. Note - * that the first pass (pass == 0 really) will completely cover - * the old row, so the rows do not have to be initialized. After - * the first pass (and only for interlaced images), you will have - * to pass the current row as new_row, and the function will combine - * the old row and the new row. - */ -#endif /* PNG_READ_INTERLACING_SUPPORTED */ -} - -end_callback(png_structp png_ptr, png_infop info) -{ - /* This function is called when the whole image has been read, - * including any chunks after the image (up to and including - * the IEND). You will usually have the same info chunk as you - * had in the header, although some data may have been added - * to the comments and time fields. - * - * Most people won't do much here, perhaps setting a flag that - * marks the image as finished. - */ -} - -/* Write a png file */ -void write_png(char *file_name /* , ... other image information ... */) -{ - FILE *fp; - png_structp png_ptr; - png_infop info_ptr; - png_colorp palette; - - /* Open the file */ - fp = fopen(file_name, "wb"); - if (fp == NULL) - return (ERROR); - - /* Create and initialize the png_struct with the desired error handler - * functions. If you want to use the default stderr and longjump method, - * you can supply NULL for the last three parameters. We also check that - * the library version is compatible with the one used at compile time, - * in case we are using dynamically linked libraries. REQUIRED. - */ - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, - png_voidp user_error_ptr, user_error_fn, user_warning_fn); - - if (png_ptr == NULL) - { - fclose(fp); - return (ERROR); - } - - /* Allocate/initialize the image information data. REQUIRED */ - info_ptr = png_create_info_struct(png_ptr); - if (info_ptr == NULL) - { - fclose(fp); - png_destroy_write_struct(&png_ptr, NULL); - return (ERROR); - } - - /* Set error handling. REQUIRED if you aren't supplying your own - * error handling functions in the png_create_write_struct() call. - */ - if (setjmp(png_jmpbuf(png_ptr))) - { - /* If we get here, we had a problem writing the file */ - fclose(fp); - png_destroy_write_struct(&png_ptr, &info_ptr); - return (ERROR); - } - - /* One of the following I/O initialization functions is REQUIRED */ - -#ifdef streams /* I/O initialization method 1 */ - /* Set up the output control if you are using standard C streams */ - png_init_io(png_ptr, fp); - -#else no_streams /* I/O initialization method 2 */ - /* If you are using replacement write functions, instead of calling - * png_init_io() here you would call - */ - png_set_write_fn(png_ptr, (void *)user_io_ptr, user_write_fn, - user_IO_flush_function); - /* where user_io_ptr is a structure you want available to the callbacks */ -#endif no_streams /* Only use one initialization method */ - -#ifdef hilevel - /* This is the easy way. Use it if you already have all the - * image info living in the structure. You could "|" many - * PNG_TRANSFORM flags into the png_transforms integer here. - */ - png_write_png(png_ptr, info_ptr, png_transforms, NULL); - -#else - /* This is the hard way */ - - /* Set the image information here. Width and height are up to 2^31, - * bit_depth is one of 1, 2, 4, 8, or 16, but valid values also depend on - * the color_type selected. color_type is one of PNG_COLOR_TYPE_GRAY, - * PNG_COLOR_TYPE_GRAY_ALPHA, PNG_COLOR_TYPE_PALETTE, PNG_COLOR_TYPE_RGB, - * or PNG_COLOR_TYPE_RGB_ALPHA. interlace is either PNG_INTERLACE_NONE or - * PNG_INTERLACE_ADAM7, and the compression_type and filter_type MUST - * currently be PNG_COMPRESSION_TYPE_BASE and PNG_FILTER_TYPE_BASE. REQUIRED - */ - png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth, PNG_COLOR_TYPE_???, - PNG_INTERLACE_????, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); - - /* Set the palette if there is one. REQUIRED for indexed-color images */ - palette = (png_colorp)png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH - * png_sizeof(png_color)); - /* ... Set palette colors ... */ - png_set_PLTE(png_ptr, info_ptr, palette, PNG_MAX_PALETTE_LENGTH); - /* You must not free palette here, because png_set_PLTE only makes a link to - * the palette that you malloced. Wait until you are about to destroy - * the png structure. - */ - - /* Optional significant bit (sBIT) chunk */ - png_color_8 sig_bit; - - /* If we are dealing with a grayscale image then */ - sig_bit.gray = true_bit_depth; - - /* Otherwise, if we are dealing with a color image then */ - sig_bit.red = true_red_bit_depth; - sig_bit.green = true_green_bit_depth; - sig_bit.blue = true_blue_bit_depth; - - /* If the image has an alpha channel then */ - sig_bit.alpha = true_alpha_bit_depth; - - png_set_sBIT(png_ptr, info_ptr, &sig_bit); - - - /* Optional gamma chunk is strongly suggested if you have any guess - * as to the correct gamma of the image. - */ - png_set_gAMA(png_ptr, info_ptr, gamma); - - /* Optionally write comments into the image */ - { - png_text text_ptr[3]; - - char key0[]="Title"; - char text0[]="Mona Lisa"; - text_ptr[0].key = key0; - text_ptr[0].text = text0; - text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE; - text_ptr[0].itxt_length = 0; - text_ptr[0].lang = NULL; - text_ptr[0].lang_key = NULL; - - char key1[]="Author"; - char text1[]="Leonardo DaVinci"; - text_ptr[1].key = key1; - text_ptr[1].text = text1; - text_ptr[1].compression = PNG_TEXT_COMPRESSION_NONE; - text_ptr[1].itxt_length = 0; - text_ptr[1].lang = NULL; - text_ptr[1].lang_key = NULL; - - char key2[]="Description"; - char text2[]="<long text>"; - text_ptr[2].key = key2; - text_ptr[2].text = text2; - text_ptr[2].compression = PNG_TEXT_COMPRESSION_zTXt; - text_ptr[2].itxt_length = 0; - text_ptr[2].lang = NULL; - text_ptr[2].lang_key = NULL; - - png_set_text(write_ptr, write_info_ptr, text_ptr, 3); - } - - /* Other optional chunks like cHRM, bKGD, tRNS, tIME, oFFs, pHYs */ - - /* Note that if sRGB is present the gAMA and cHRM chunks must be ignored - * on read and, if your application chooses to write them, they must - * be written in accordance with the sRGB profile - */ - - /* Write the file header information. REQUIRED */ - png_write_info(png_ptr, info_ptr); - - /* If you want, you can write the info in two steps, in case you need to - * write your private chunk ahead of PLTE: - * - * png_write_info_before_PLTE(write_ptr, write_info_ptr); - * write_my_chunk(); - * png_write_info(png_ptr, info_ptr); - * - * However, given the level of known- and unknown-chunk support in 1.2.0 - * and up, this should no longer be necessary. - */ - - /* Once we write out the header, the compression type on the text - * chunk gets changed to PNG_TEXT_COMPRESSION_NONE_WR or - * PNG_TEXT_COMPRESSION_zTXt_WR, so it doesn't get written out again - * at the end. - */ - - /* Set up the transformations you want. Note that these are - * all optional. Only call them if you want them. - */ - - /* Invert monochrome pixels */ - png_set_invert_mono(png_ptr); - - /* Shift the pixels up to a legal bit depth and fill in - * as appropriate to correctly scale the image. - */ - png_set_shift(png_ptr, &sig_bit); - - /* Pack pixels into bytes */ - png_set_packing(png_ptr); - - /* Swap location of alpha bytes from ARGB to RGBA */ - png_set_swap_alpha(png_ptr); - - /* Get rid of filler (OR ALPHA) bytes, pack XRGB/RGBX/ARGB/RGBA into - * RGB (4 channels -> 3 channels). The second parameter is not used. - */ - png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE); - - /* Flip BGR pixels to RGB */ - png_set_bgr(png_ptr); - - /* Swap bytes of 16-bit files to most significant byte first */ - png_set_swap(png_ptr); - - /* Swap bits of 1-bit, 2-bit, 4-bit packed pixel formats */ - png_set_packswap(png_ptr); - - /* Turn on interlace handling if you are not using png_write_image() */ - if (interlacing != 0) - number_passes = png_set_interlace_handling(png_ptr); - - else - number_passes = 1; - - /* The easiest way to write the image (you may have a different memory - * layout, however, so choose what fits your needs best). You need to - * use the first method if you aren't handling interlacing yourself. - */ - png_uint_32 k, height, width; - - /* In this example, "image" is a one-dimensional array of bytes */ - png_byte image[height*width*bytes_per_pixel]; - - png_bytep row_pointers[height]; - - if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep)) - png_error (png_ptr, "Image is too tall to process in memory"); - - /* Set up pointers into your "image" byte array */ - for (k = 0; k < height; k++) - row_pointers[k] = image + k*width*bytes_per_pixel; - - /* One of the following output methods is REQUIRED */ - -#ifdef entire /* Write out the entire image data in one call */ - png_write_image(png_ptr, row_pointers); - - /* The other way to write the image - deal with interlacing */ - -#else no_entire /* Write out the image data by one or more scanlines */ - - /* The number of passes is either 1 for non-interlaced images, - * or 7 for interlaced images. - */ - for (pass = 0; pass < number_passes; pass++) - { - /* Write a few rows at a time. */ - png_write_rows(png_ptr, &row_pointers[first_row], number_of_rows); - - /* If you are only writing one row at a time, this works */ - for (y = 0; y < height; y++) - png_write_rows(png_ptr, &row_pointers[y], 1); - } -#endif no_entire /* Use only one output method */ - - /* You can write optional chunks like tEXt, zTXt, and tIME at the end - * as well. Shouldn't be necessary in 1.2.0 and up as all the public - * chunks are supported and you can use png_set_unknown_chunks() to - * register unknown chunks into the info structure to be written out. - */ - - /* It is REQUIRED to call this to finish writing the rest of the file */ - png_write_end(png_ptr, info_ptr); -#endif hilevel - - /* If you png_malloced a palette, free it here (don't free info_ptr->palette, - * as recommended in versions 1.0.5m and earlier of this example; if - * libpng mallocs info_ptr->palette, libpng will free it). If you - * allocated it with malloc() instead of png_malloc(), use free() instead - * of png_free(). - */ - png_free(png_ptr, palette); - palette = NULL; - - /* Similarly, if you png_malloced any data that you passed in with - * png_set_something(), such as a hist or trans array, free it here, - * when you can be sure that libpng is through with it. - */ - png_free(png_ptr, trans); - trans = NULL; - /* Whenever you use png_free() it is a good idea to set the pointer to - * NULL in case your application inadvertently tries to png_free() it - * again. When png_free() sees a NULL it returns without action, thus - * avoiding the double-free security problem. - */ - - /* Clean up after the write, and free any memory allocated */ - png_destroy_write_struct(&png_ptr, &info_ptr); - - /* Close the file */ - fclose(fp); - - /* That's it */ - return (OK); -} - -#endif /* if 0 */ diff --git a/drivers/png/resource_saver_png.h b/drivers/png/resource_saver_png.h index 116d425d24..d2e0753b40 100644 --- a/drivers/png/resource_saver_png.h +++ b/drivers/png/resource_saver_png.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* resource_saver_png.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef RESOURCE_SAVER_PNG_H #define RESOURCE_SAVER_PNG_H diff --git a/drivers/pnm/bitmap_loader_pnm.cpp b/drivers/pnm/bitmap_loader_pnm.cpp index c9298be26a..e06d4c80f0 100644 --- a/drivers/pnm/bitmap_loader_pnm.cpp +++ b/drivers/pnm/bitmap_loader_pnm.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_jpg.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* bitmap_loader_pnm.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "bitmap_loader_pnm.h" #include "os/file_access.h" #include "scene/resources/bit_mask.h" diff --git a/drivers/pnm/bitmap_loader_pnm.h b/drivers/pnm/bitmap_loader_pnm.h index 6e6c8a59c8..965cf7a451 100644 --- a/drivers/pnm/bitmap_loader_pnm.h +++ b/drivers/pnm/bitmap_loader_pnm.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_jpg.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* bitmap_loader_pnm.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BITMAP_LOADER_PNM_H #define BITMAP_LOADER_PNM_H diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp index 813a95816b..4804bc5630 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp +++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* audio_driver_alsa.cpp */ +/* audio_driver_pulseaudio.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/drivers/pvr/texture_loader_pvr.cpp b/drivers/pvr/texture_loader_pvr.cpp index eb67dad8cf..3ab3240512 100644 --- a/drivers/pvr/texture_loader_pvr.cpp +++ b/drivers/pvr/texture_loader_pvr.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* texture_loader_pvr.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "texture_loader_pvr.h" #include "os/file_access.h" #include <string.h> diff --git a/drivers/pvr/texture_loader_pvr.h b/drivers/pvr/texture_loader_pvr.h index 735cb2b48b..5efb3b2507 100644 --- a/drivers/pvr/texture_loader_pvr.h +++ b/drivers/pvr/texture_loader_pvr.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* texture_loader_pvr.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef TEXTURE_LOADER_PVR_H #define TEXTURE_LOADER_PVR_H diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp index 2f9767440e..8354de8c6f 100644 --- a/drivers/register_driver_types.cpp +++ b/drivers/register_driver_types.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* register_driver_types.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* register_driver_types.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "register_driver_types.h" #include "png/image_loader_png.h" diff --git a/drivers/register_driver_types.h b/drivers/register_driver_types.h index 8a13ad4471..0d9ffff2c9 100644 --- a/drivers/register_driver_types.h +++ b/drivers/register_driver_types.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* register_driver_types.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* register_driver_types.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef REGISTER_DRIVER_TYPES_H #define REGISTER_DRIVER_TYPES_H diff --git a/drivers/rtaudio/audio_driver_rtaudio.cpp b/drivers/rtaudio/audio_driver_rtaudio.cpp index b172ef6e09..1bea828680 100644 --- a/drivers/rtaudio/audio_driver_rtaudio.cpp +++ b/drivers/rtaudio/audio_driver_rtaudio.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* audio_driver_rtaudio.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* audio_driver_rtaudio.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "audio_driver_rtaudio.h" #include "globals.h" #include "os/os.h" diff --git a/drivers/rtaudio/audio_driver_rtaudio.h b/drivers/rtaudio/audio_driver_rtaudio.h index 115953ce1f..ccb3d005c1 100644 --- a/drivers/rtaudio/audio_driver_rtaudio.h +++ b/drivers/rtaudio/audio_driver_rtaudio.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* audio_driver_rtaudio.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* audio_driver_rtaudio.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef AUDIO_DRIVER_RTAUDIO_H #define AUDIO_DRIVER_RTAUDIO_H diff --git a/drivers/speex/audio_stream_speex.cpp b/drivers/speex/audio_stream_speex.cpp index 1bb4952cc8..79f3e58ac0 100644 --- a/drivers/speex/audio_stream_speex.cpp +++ b/drivers/speex/audio_stream_speex.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_stream_speex.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "audio_stream_speex.h" #include "os_support.h" diff --git a/drivers/speex/audio_stream_speex.h b/drivers/speex/audio_stream_speex.h index f0617b302f..491c593e47 100644 --- a/drivers/speex/audio_stream_speex.h +++ b/drivers/speex/audio_stream_speex.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_stream_speex.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef AUDIO_STREAM_SPEEX_H #define AUDIO_STREAM_SPEEX_H diff --git a/drivers/squish/image_compress_squish.cpp b/drivers/squish/image_compress_squish.cpp index 2c520bd1e9..95de83d5a5 100644 --- a/drivers/squish/image_compress_squish.cpp +++ b/drivers/squish/image_compress_squish.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* image_compress_squish.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "image_compress_squish.h" #include "squish/squish.h" #include "print_string.h" diff --git a/drivers/squish/image_compress_squish.h b/drivers/squish/image_compress_squish.h index 4fec8d7ef7..8c37ac2caa 100644 --- a/drivers/squish/image_compress_squish.h +++ b/drivers/squish/image_compress_squish.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* image_compress_squish.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMAGE_COMPRESS_SQUISH_H #define IMAGE_COMPRESS_SQUISH_H diff --git a/drivers/theora/codec.h b/drivers/theora/codec.h index 9b816e5cfd..5c2669630c 100644 --- a/drivers/theora/codec.h +++ b/drivers/theora/codec.h @@ -15,7 +15,7 @@ ********************************************************************/ -/**\file +/**\mainpage * * \section intro Introduction * diff --git a/drivers/theora/decode.c b/drivers/theora/decode.c index 882606ae77..7be66463d8 100644 --- a/drivers/theora/decode.c +++ b/drivers/theora/decode.c @@ -1611,35 +1611,28 @@ static void oc_filter_hedge(unsigned char *_dst,int _dst_ystride, int sum1; int bx; int by; - int _rlimit1; - int _rlimit2; rdst=_dst; rsrc=_src; - for(bx=0;bx<8;++bx){ + for(bx=0;bx<8;bx++){ cdst=rdst; csrc=rsrc; - _rlimit1 = _rlimit2 = _flimit; - for(by=0;by<10;++by){ + for(by=0;by<10;by++){ r[by]=*csrc; csrc+=_src_ystride; } sum0=sum1=0; - for(by=0;by<4;++by){ - int sumed = abs(r[by+1]-r[by]); - sum0+=sumed; - _rlimit1-=sumed; - sumed = abs(r[by+5]-r[by+6]); - sum1+=sumed; - _rlimit2-=sumed; + for(by=0;by<4;by++){ + sum0+=abs(r[by+1]-r[by]); + sum1+=abs(r[by+5]-r[by+6]); } *_variance0+=OC_MINI(255,sum0); *_variance1+=OC_MINI(255,sum1); - if(_rlimit1&&_rlimit2&&!(r[5]-r[4]-_qstep)&&!(r[4]-r[5]-_qstep)){ + if(sum0<_flimit&&sum1<_flimit&&r[5]-r[4]<_qstep&&r[4]-r[5]<_qstep){ *cdst=(unsigned char)(r[0]*3+r[1]*2+r[2]+r[3]+r[4]+4>>3); cdst+=_dst_ystride; *cdst=(unsigned char)(r[0]*2+r[1]+r[2]*2+r[3]+r[4]+r[5]+4>>3); cdst+=_dst_ystride; - for(by=0;by<4;++by){ + for(by=0;by<4;by++){ *cdst=(unsigned char)(r[by]+r[by+1]+r[by+2]+r[by+3]*2+ r[by+4]+r[by+5]+r[by+6]+4>>3); cdst+=_dst_ystride; @@ -1649,13 +1642,13 @@ static void oc_filter_hedge(unsigned char *_dst,int _dst_ystride, *cdst=(unsigned char)(r[5]+r[6]+r[7]+r[8]*2+r[9]*3+4>>3); } else{ - for(by=1;by<=8;++by){ + for(by=1;by<=8;by++){ *cdst=(unsigned char)r[by]; cdst+=_dst_ystride; } } - ++rdst; - ++rsrc; + rdst++; + rsrc++; } } @@ -1670,26 +1663,19 @@ static void oc_filter_vedge(unsigned char *_dst,int _dst_ystride, int sum1; int bx; int by; - int _rlimit1; - int _rlimit2; cdst=_dst; - for(by=0;by<8;++by){ + for(by=0;by<8;by++){ rsrc=cdst-1; rdst=cdst; - for(bx=0;bx<10;++bx)r[bx]=*rsrc++; + for(bx=0;bx<10;bx++)r[bx]=*rsrc++; sum0=sum1=0; - _rlimit1 = _rlimit2 = _flimit; - for(bx=0;bx<4;++bx){ - int sumed = abs(r[bx+1]-r[bx]); - sum0+=sumed; - _rlimit1-=sumed; - sumed = abs(r[bx+5]-r[bx+6]); - sum1+=sumed; - _rlimit2-=sumed; + for(bx=0;bx<4;bx++){ + sum0+=abs(r[bx+1]-r[bx]); + sum1+=abs(r[bx+5]-r[bx+6]); } _variances[0]+=OC_MINI(255,sum0); _variances[1]+=OC_MINI(255,sum1); - if(_rlimit1&&_rlimit2&&!(r[5]-r[4]-_qstep)&&!(r[4]-r[5]-_qstep)){ + if(sum0<_flimit&&sum1<_flimit&&r[5]-r[4]<_qstep&&r[4]-r[5]<_qstep){ *rdst++=(unsigned char)(r[0]*3+r[1]*2+r[2]+r[3]+r[4]+4>>3); *rdst++=(unsigned char)(r[0]*2+r[1]+r[2]*2+r[3]+r[4]+r[5]+4>>3); for(bx=0;bx<4;bx++){ diff --git a/drivers/theora/encint.h b/drivers/theora/encint.h index 82338256dc..97897d5a04 100644 --- a/drivers/theora/encint.h +++ b/drivers/theora/encint.h @@ -14,7 +14,6 @@ last mod: $Id: encint.h 16503 2009-08-22 18:14:02Z giles $ ********************************************************************/ - #if !defined(_encint_H) # define _encint_H (1) # if defined(HAVE_CONFIG_H) diff --git a/drivers/theora/video_stream_theora.cpp b/drivers/theora/video_stream_theora.cpp index e577c3f932..fa2a79dc7b 100644 --- a/drivers/theora/video_stream_theora.cpp +++ b/drivers/theora/video_stream_theora.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* video_stream_theora.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifdef THEORA_ENABLED #include "video_stream_theora.h" @@ -513,7 +541,7 @@ void VideoStreamPlaybackTheora::update(float p_delta) { } bool frame_done=false; - bool audio_done=false; + bool audio_done=!vorbis_p; bool theora_done=false; diff --git a/drivers/theora/video_stream_theora.h b/drivers/theora/video_stream_theora.h index f07acb2935..5484815844 100644 --- a/drivers/theora/video_stream_theora.h +++ b/drivers/theora/video_stream_theora.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* video_stream_theora.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef VIDEO_STREAM_THEORA_H #define VIDEO_STREAM_THEORA_H diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp index 8b097ad25e..f0e4511b1d 100644 --- a/drivers/unix/dir_access_unix.cpp +++ b/drivers/unix/dir_access_unix.cpp @@ -66,7 +66,7 @@ bool DirAccessUnix::file_exists(String p_file) { if (p_file.is_rel_path()) - p_file=current_dir+"/"+p_file; + p_file=current_dir.plus_file(p_file); else p_file=fix_path(p_file); @@ -104,7 +104,7 @@ bool DirAccessUnix::dir_exists(String p_dir) { uint64_t DirAccessUnix::get_modified_time(String p_file) { if (p_file.is_rel_path()) - p_file=current_dir+"/"+p_file; + p_file=current_dir.plus_file(p_file); else p_file=fix_path(p_file); @@ -138,11 +138,9 @@ String DirAccessUnix::get_next() { //typedef struct stat Stat; struct stat flags; - String fname; - if (fname.parse_utf8(entry->d_name)) - fname=entry->d_name; //no utf8, maybe latin? + String fname = fix_unicode_name(entry->d_name); - String f=current_dir+"/"+fname; + String f=current_dir.plus_file(fname); if (stat(f.utf8().get_data(),&flags)==0) { @@ -201,8 +199,17 @@ Error DirAccessUnix::make_dir(String p_dir) { GLOBAL_LOCK_FUNCTION - p_dir=fix_path(p_dir); - + if (p_dir.is_rel_path()) + p_dir=get_current_dir().plus_file(p_dir); + else + p_dir=fix_path(p_dir); +#if 1 + + + bool success=(mkdir(p_dir.utf8().get_data(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)==0); + int err = errno; + +#else char real_current_dir_name[2048]; getcwd(real_current_dir_name,2048); chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants @@ -211,7 +218,7 @@ Error DirAccessUnix::make_dir(String p_dir) { int err = errno; chdir(real_current_dir_name); - +#endif if (success) { return OK; }; @@ -314,7 +321,7 @@ size_t DirAccessUnix::get_space_left() { struct statvfs vfs; if (statvfs(current_dir.utf8().get_data(), &vfs) != 0) { - return -1; + return 0; }; return vfs.f_bfree * vfs.f_bsize; diff --git a/drivers/unix/dir_access_unix.h b/drivers/unix/dir_access_unix.h index 9cba1ed3e0..b2f1aed10f 100644 --- a/drivers/unix/dir_access_unix.h +++ b/drivers/unix/dir_access_unix.h @@ -51,7 +51,10 @@ class DirAccessUnix : public DirAccess { String current_dir; bool _cisdir; bool _cishidden; - +protected: + + virtual String fix_unicode_name(const char* p_name) const { return String::utf8(p_name); } + public: virtual bool list_dir_begin(); ///< This starts dir listing diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp index 2111619080..0201a85651 100644 --- a/drivers/unix/packet_peer_udp_posix.cpp +++ b/drivers/unix/packet_peer_udp_posix.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp_posix.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "packet_peer_udp_posix.h" #ifdef UNIX_ENABLED @@ -96,7 +124,6 @@ Error PacketPeerUDPPosix::listen(int p_port, int p_recv_buffer_size){ close(); return ERR_UNAVAILABLE; } - printf("UDP Connection listening on port %i bufsize %i \n", p_port,p_recv_buffer_size); rb.resize(nearest_shift(p_recv_buffer_size)); return OK; } diff --git a/drivers/unix/packet_peer_udp_posix.h b/drivers/unix/packet_peer_udp_posix.h index b14568eb5f..a11282e5d6 100644 --- a/drivers/unix/packet_peer_udp_posix.h +++ b/drivers/unix/packet_peer_udp_posix.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp_posix.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PACKET_PEER_UDP_POSIX_H #define PACKET_PEER_UDP_POSIX_H diff --git a/drivers/unix/tcp_server_posix.cpp b/drivers/unix/tcp_server_posix.cpp index 98451957fd..c67bb51334 100644 --- a/drivers/unix/tcp_server_posix.cpp +++ b/drivers/unix/tcp_server_posix.cpp @@ -67,7 +67,6 @@ void TCPServerPosix::make_default() { Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_hosts) { - printf("********* listening on port %i\n", p_port); int sockfd; sockfd = socket(AF_INET, SOCK_STREAM, 0); ERR_FAIL_COND_V(sockfd == -1, FAILED); @@ -80,8 +79,7 @@ Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_host int reuse=1; if(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, sizeof(reuse)) < 0) { - - printf("REUSEADDR failed!"); + WARN_PRINT("REUSEADDR failed!") } struct sockaddr_in my_addr; @@ -103,14 +101,11 @@ Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_host }; if (listen_sockfd != -1) { - - printf("FAILED\n"); stop(); }; listen_sockfd = sockfd; - printf("OK! %i\n", listen_sockfd); return OK; }; @@ -129,7 +124,6 @@ bool TCPServerPosix::is_connection_available() const { ERR_FAIL_COND_V(ret < 0, FAILED); if (ret && (pfd.revents & POLLIN)) { - printf("has connection!\n"); return true; }; @@ -164,7 +158,6 @@ Ref<StreamPeerTCP> TCPServerPosix::take_connection() { void TCPServerPosix::stop() { if (listen_sockfd != -1) { - print_line("CLOSING CONNECTION"); int ret = close(listen_sockfd); ERR_FAIL_COND(ret!=0); }; diff --git a/drivers/vorbis/COPYING b/drivers/vorbis/COPYING index 28de72a970..8f1d18cc2b 100644 --- a/drivers/vorbis/COPYING +++ b/drivers/vorbis/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2002-2008 Xiph.org Foundation +Copyright (c) 2002-2015 Xiph.org Foundation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/drivers/vorbis/barkmel.c b/drivers/vorbis/barkmel.c index 6adb715406..37b6c4c7ba 100644 --- a/drivers/vorbis/barkmel.c +++ b/drivers/vorbis/barkmel.c @@ -11,7 +11,7 @@ ******************************************************************** function: bark scale utility - last mod: $Id: barkmel.c 16037 2009-05-26 21:10:58Z xiphmont $ + last mod: $Id: barkmel.c 19454 2015-03-02 22:39:28Z xiphmont $ ********************************************************************/ diff --git a/drivers/vorbis/block.c b/drivers/vorbis/block.c index eee9abfca7..345c042769 100644 --- a/drivers/vorbis/block.c +++ b/drivers/vorbis/block.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: PCM data vector blocking, windowing and dis/reassembly - last mod: $Id: block.c 17561 2010-10-23 10:34:24Z xiphmont $ + last mod: $Id: block.c 19457 2015-03-03 00:15:29Z giles $ Handle windowing, overlap-add, etc of the PCM vectors. This is made more amusing by Vorbis' current two allowed block sizes. @@ -31,16 +31,6 @@ #include "registry.h" #include "misc.h" -static int ilog2(unsigned int v){ - int ret=0; - if(v)--v; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - /* pcm accumulator examples (not exhaustive): <-------------- lW ----------------> @@ -184,14 +174,19 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ private_state *b=NULL; int hs; - if(ci==NULL) return 1; + if(ci==NULL|| + ci->modes<=0|| + ci->blocksizes[0]<64|| + ci->blocksizes[1]<ci->blocksizes[0]){ + return 1; + } hs=ci->halfrate_flag; memset(v,0,sizeof(*v)); b=v->backend_state=_ogg_calloc(1,sizeof(*b)); v->vi=vi; - b->modebits=ilog2(ci->modes); + b->modebits=ov_ilog(ci->modes-1); b->transform[0]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[0])); b->transform[1]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[1])); @@ -204,8 +199,14 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){ mdct_init(b->transform[1][0],ci->blocksizes[1]>>hs); /* Vorbis I uses only window type 0 */ - b->window[0]=ilog2(ci->blocksizes[0])-6; - b->window[1]=ilog2(ci->blocksizes[1])-6; + /* note that the correct computation below is technically: + b->window[0]=ov_ilog(ci->blocksizes[0]-1)-6; + b->window[1]=ov_ilog(ci->blocksizes[1]-1)-6; + but since blocksizes are always powers of two, + the below is equivalent. + */ + b->window[0]=ov_ilog(ci->blocksizes[0])-7; + b->window[1]=ov_ilog(ci->blocksizes[1])-7; if(encp){ /* encode/decode differ here */ @@ -771,14 +772,14 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ if(v->lW){ if(v->W){ /* large/large */ - float *w=_vorbis_window_get(b->window[1]-hs); + const float *w=_vorbis_window_get(b->window[1]-hs); float *pcm=v->pcm[j]+prevCenter; float *p=vb->pcm[j]; for(i=0;i<n1;i++) pcm[i]=pcm[i]*w[n1-i-1] + p[i]*w[i]; }else{ /* large/small */ - float *w=_vorbis_window_get(b->window[0]-hs); + const float *w=_vorbis_window_get(b->window[0]-hs); float *pcm=v->pcm[j]+prevCenter+n1/2-n0/2; float *p=vb->pcm[j]; for(i=0;i<n0;i++) @@ -787,7 +788,7 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ }else{ if(v->W){ /* small/large */ - float *w=_vorbis_window_get(b->window[0]-hs); + const float *w=_vorbis_window_get(b->window[0]-hs); float *pcm=v->pcm[j]+prevCenter; float *p=vb->pcm[j]+n1/2-n0/2; for(i=0;i<n0;i++) @@ -796,7 +797,7 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){ pcm[i]=p[i]; }else{ /* small/small */ - float *w=_vorbis_window_get(b->window[0]-hs); + const float *w=_vorbis_window_get(b->window[0]-hs); float *pcm=v->pcm[j]+prevCenter; float *p=vb->pcm[j]; for(i=0;i<n0;i++) @@ -1035,7 +1036,7 @@ int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm){ } -float *vorbis_window(vorbis_dsp_state *v,int W){ +const float *vorbis_window(vorbis_dsp_state *v,int W){ vorbis_info *vi=v->vi; codec_setup_info *ci=vi->codec_setup; int hs=ci->halfrate_flag; diff --git a/drivers/vorbis/books/Makefile.am b/drivers/vorbis/books/Makefile.am deleted file mode 100644 index 3697a7177e..0000000000 --- a/drivers/vorbis/books/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this file with automake to produce Makefile.in - -SUBDIRS = coupled uncoupled floor diff --git a/drivers/vorbis/books/Makefile.in b/drivers/vorbis/books/Makefile.in deleted file mode 100644 index 0d957f0cf6..0000000000 --- a/drivers/vorbis/books/Makefile.in +++ /dev/null @@ -1,514 +0,0 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = lib/books -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-dvi-recursive install-exec-recursive \ - install-html-recursive install-info-recursive \ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HTLATEX = @HTLATEX@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OGG_CFLAGS = @OGG_CFLAGS@ -OGG_LIBS = @OGG_LIBS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VE_LIB_AGE = @VE_LIB_AGE@ -VE_LIB_CURRENT = @VE_LIB_CURRENT@ -VE_LIB_REVISION = @VE_LIB_REVISION@ -VF_LIB_AGE = @VF_LIB_AGE@ -VF_LIB_CURRENT = @VF_LIB_CURRENT@ -VF_LIB_REVISION = @VF_LIB_REVISION@ -VORBIS_LIBS = @VORBIS_LIBS@ -V_LIB_AGE = @V_LIB_AGE@ -V_LIB_CURRENT = @V_LIB_CURRENT@ -V_LIB_REVISION = @V_LIB_REVISION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pthread_lib = @pthread_lib@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = coupled uncoupled floor -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu lib/books/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-exec-am: - -install-html: install-html-recursive - -install-info: install-info-recursive - -install-man: - -install-pdf: install-pdf-recursive - -install-ps: install-ps-recursive - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ - install-strip - -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am check check-am clean clean-generic clean-libtool \ - ctags ctags-recursive distclean distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/drivers/vorbis/books/coupled/Makefile.am b/drivers/vorbis/books/coupled/Makefile.am deleted file mode 100644 index 1115201dd0..0000000000 --- a/drivers/vorbis/books/coupled/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = res_books_stereo.h res_books_51.h diff --git a/drivers/vorbis/books/coupled/Makefile.in b/drivers/vorbis/books/coupled/Makefile.in deleted file mode 100644 index ec9d98ead2..0000000000 --- a/drivers/vorbis/books/coupled/Makefile.in +++ /dev/null @@ -1,356 +0,0 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = lib/books/coupled -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HTLATEX = @HTLATEX@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OGG_CFLAGS = @OGG_CFLAGS@ -OGG_LIBS = @OGG_LIBS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VE_LIB_AGE = @VE_LIB_AGE@ -VE_LIB_CURRENT = @VE_LIB_CURRENT@ -VE_LIB_REVISION = @VE_LIB_REVISION@ -VF_LIB_AGE = @VF_LIB_AGE@ -VF_LIB_CURRENT = @VF_LIB_CURRENT@ -VF_LIB_REVISION = @VF_LIB_REVISION@ -VORBIS_LIBS = @VORBIS_LIBS@ -V_LIB_AGE = @V_LIB_AGE@ -V_LIB_CURRENT = @V_LIB_CURRENT@ -V_LIB_REVISION = @V_LIB_REVISION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pthread_lib = @pthread_lib@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = res_books_stereo.h res_books_51.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/coupled/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu lib/books/coupled/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/drivers/vorbis/books/coupled/res_books_51.h b/drivers/vorbis/books/coupled/res_books_51.h index 917a95583a..93910ff481 100644 --- a/drivers/vorbis/books/coupled/res_books_51.h +++ b/drivers/vorbis/books/coupled/res_books_51.h @@ -1,3 +1,20 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * + * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * + * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * + * * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 * + * by the Xiph.Org Foundation http://www.xiph.org/ * + * * + ******************************************************************** + * + * function: static codebooks for 5.1 surround + * last modified: $Id: res_books_51.h 19057 2014-01-22 12:32:31Z xiphmont $ + * + ********************************************************************/ + static const long _vq_quantlist__44p0_l0_0[] = { 6, 5, @@ -14,7 +31,7 @@ static const long _vq_quantlist__44p0_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p0_l0_0[] = { +static const char _vq_lengthlist__44p0_l0_0[] = { 1, 3, 4, 7, 7, 8, 8, 9, 9, 9,10,10,10, 5, 6, 5, 8, 7, 9, 8, 9, 9,10, 9,11,10, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11, 8, 9, 8,10, 9,10, 9,10, 9, @@ -30,7 +47,7 @@ static const long _vq_lengthlist__44p0_l0_0[] = { static const static_codebook _44p0_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p0_l0_0, + (char *)_vq_lengthlist__44p0_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p0_l0_0, 0 @@ -44,14 +61,14 @@ static const long _vq_quantlist__44p0_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p0_l0_1[] = { +static const char _vq_lengthlist__44p0_l0_1[] = { 1, 4, 4, 6, 6, 5, 5, 5, 7, 5, 5, 5, 5, 6, 7, 7, 6, 7, 7, 7, 6, 7, 7, 7, 7, }; static const static_codebook _44p0_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p0_l0_1, + (char *)_vq_lengthlist__44p0_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p0_l0_1, 0 @@ -63,31 +80,31 @@ static const long _vq_quantlist__44p0_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p0_l1_0[] = { +static const char _vq_lengthlist__44p0_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p0_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p0_l1_0, + (char *)_vq_lengthlist__44p0_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p0_l1_0, 0 }; -static const long _huff_lengthlist__44p0_lfe[] = { +static const char _huff_lengthlist__44p0_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p0_lfe = { 2, 4, - (long *)_huff_lengthlist__44p0_lfe, + (char *)_huff_lengthlist__44p0_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p0_long[] = { +static const char _huff_lengthlist__44p0_long[] = { 2, 3, 6, 7,10,14,16, 3, 2, 5, 7,11,14,17, 6, 5, 5, 7,10,12,14, 7, 7, 6, 6, 7, 9,13,10,11, 9, 6, 6, 9,11,15,15,13,10, 9,10,12,18,18,16,14,12,13, @@ -96,7 +113,7 @@ static const long _huff_lengthlist__44p0_long[] = { static const static_codebook _huff_book__44p0_long = { 2, 49, - (long *)_huff_lengthlist__44p0_long, + (char *)_huff_lengthlist__44p0_long, 0, 0, 0, 0, 0, NULL, 0 @@ -108,7 +125,7 @@ static const long _vq_quantlist__44p0_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p0_p1_0[] = { +static const char _vq_lengthlist__44p0_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -129,7 +146,7 @@ static const long _vq_lengthlist__44p0_p1_0[] = { static const static_codebook _44p0_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p0_p1_0, + (char *)_vq_lengthlist__44p0_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p0_p1_0, 0 @@ -141,7 +158,7 @@ static const long _vq_quantlist__44p0_p2_0[] = { 2, }; -static const long _vq_lengthlist__44p0_p2_0[] = { +static const char _vq_lengthlist__44p0_p2_0[] = { 1, 5, 5, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 6, 6, 0,11, 11, 0,12,12, 0,12,12, 0,15,15, 0,11,11, 0,12,12, @@ -162,7 +179,7 @@ static const long _vq_lengthlist__44p0_p2_0[] = { static const static_codebook _44p0_p2_0 = { 5, 243, - (long *)_vq_lengthlist__44p0_p2_0, + (char *)_vq_lengthlist__44p0_p2_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p0_p2_0, 0 @@ -174,7 +191,7 @@ static const long _vq_quantlist__44p0_p2_1[] = { 2, }; -static const long _vq_lengthlist__44p0_p2_1[] = { +static const char _vq_lengthlist__44p0_p2_1[] = { 1, 3, 3, 0, 9, 9, 0, 9, 9, 0,10,10, 0, 9, 9, 0, 10,10, 0,10,10, 0, 9, 9, 0,10,10, 0, 7, 7, 0, 7, 7, 0, 6, 6, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 9, @@ -195,7 +212,7 @@ static const long _vq_lengthlist__44p0_p2_1[] = { static const static_codebook _44p0_p2_1 = { 5, 243, - (long *)_vq_lengthlist__44p0_p2_1, + (char *)_vq_lengthlist__44p0_p2_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p0_p2_1, 0 @@ -207,7 +224,7 @@ static const long _vq_quantlist__44p0_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p0_p3_0[] = { +static const char _vq_lengthlist__44p0_p3_0[] = { 1, 6, 6, 7, 8, 8, 7, 8, 8, 7, 9, 9,10,12,11, 9, 8, 8, 7, 9, 9,11,12,12, 9, 9, 9, 6, 7, 7,10,11, 11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11, @@ -228,7 +245,7 @@ static const long _vq_lengthlist__44p0_p3_0[] = { static const static_codebook _44p0_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p0_p3_0, + (char *)_vq_lengthlist__44p0_p3_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p0_p3_0, 0 @@ -242,7 +259,7 @@ static const long _vq_quantlist__44p0_p3_1[] = { 4, }; -static const long _vq_lengthlist__44p0_p3_1[] = { +static const char _vq_lengthlist__44p0_p3_1[] = { 2, 4, 4, 8, 8,10,12,12,11,11, 9,11,11,12,13,11, 12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12, 12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13, @@ -443,7 +460,7 @@ static const long _vq_lengthlist__44p0_p3_1[] = { static const static_codebook _44p0_p3_1 = { 5, 3125, - (long *)_vq_lengthlist__44p0_p3_1, + (char *)_vq_lengthlist__44p0_p3_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p0_p3_1, 0 @@ -457,7 +474,7 @@ static const long _vq_quantlist__44p0_p4_0[] = { 4, }; -static const long _vq_lengthlist__44p0_p4_0[] = { +static const char _vq_lengthlist__44p0_p4_0[] = { 2, 6, 6,14,14, 6, 8, 8,14,14, 7, 7, 7,14,14, 0, 13,13,15,16, 0,13,13,15,15, 7, 8, 8,15,15, 9,10, 10,16,16, 9, 8, 8,14,15, 0,13,13,17,17, 0,13,13, @@ -658,7 +675,7 @@ static const long _vq_lengthlist__44p0_p4_0[] = { static const static_codebook _44p0_p4_0 = { 5, 3125, - (long *)_vq_lengthlist__44p0_p4_0, + (char *)_vq_lengthlist__44p0_p4_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p0_p4_0, 0 @@ -674,13 +691,13 @@ static const long _vq_quantlist__44p0_p4_1[] = { 6, }; -static const long _vq_lengthlist__44p0_p4_1[] = { +static const char _vq_lengthlist__44p0_p4_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p0_p4_1 = { 1, 7, - (long *)_vq_lengthlist__44p0_p4_1, + (char *)_vq_lengthlist__44p0_p4_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p0_p4_1, 0 @@ -692,7 +709,7 @@ static const long _vq_quantlist__44p0_p5_0[] = { 2, }; -static const long _vq_lengthlist__44p0_p5_0[] = { +static const char _vq_lengthlist__44p0_p5_0[] = { 1, 6, 6, 6, 8, 8, 7, 8, 8, 7, 9, 8,10,11,11, 9, 8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7,10,10, 10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10, @@ -713,7 +730,7 @@ static const long _vq_lengthlist__44p0_p5_0[] = { static const static_codebook _44p0_p5_0 = { 5, 243, - (long *)_vq_lengthlist__44p0_p5_0, + (char *)_vq_lengthlist__44p0_p5_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p0_p5_0, 0 @@ -725,7 +742,7 @@ static const long _vq_quantlist__44p0_p5_1[] = { 2, }; -static const long _vq_lengthlist__44p0_p5_1[] = { +static const char _vq_lengthlist__44p0_p5_1[] = { 2, 7, 7, 7, 8, 8, 7, 7, 7, 7, 8, 8, 8, 8, 9, 8, 7, 7, 8, 8, 8, 9, 9, 9, 9, 7, 7, 6, 6, 6, 9, 7, 7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8, @@ -746,7 +763,7 @@ static const long _vq_lengthlist__44p0_p5_1[] = { static const static_codebook _44p0_p5_1 = { 5, 243, - (long *)_vq_lengthlist__44p0_p5_1, + (char *)_vq_lengthlist__44p0_p5_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p0_p5_1, 0 @@ -758,7 +775,7 @@ static const long _vq_quantlist__44p0_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p0_p6_0[] = { +static const char _vq_lengthlist__44p0_p6_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -779,7 +796,7 @@ static const long _vq_lengthlist__44p0_p6_0[] = { static const static_codebook _44p0_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p0_p6_0, + (char *)_vq_lengthlist__44p0_p6_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p0_p6_0, 0 @@ -813,14 +830,14 @@ static const long _vq_quantlist__44p0_p6_1[] = { 24, }; -static const long _vq_lengthlist__44p0_p6_1[] = { +static const char _vq_lengthlist__44p0_p6_1[] = { 1, 3, 2, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, 11,12,12,12,14,14,14,15,15, }; static const static_codebook _44p0_p6_1 = { 1, 25, - (long *)_vq_lengthlist__44p0_p6_1, + (char *)_vq_lengthlist__44p0_p6_1, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p0_p6_1, 0 @@ -854,20 +871,20 @@ static const long _vq_quantlist__44p0_p6_2[] = { 24, }; -static const long _vq_lengthlist__44p0_p6_2[] = { +static const char _vq_lengthlist__44p0_p6_2[] = { 3, 4, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p0_p6_2 = { 1, 25, - (long *)_vq_lengthlist__44p0_p6_2, + (char *)_vq_lengthlist__44p0_p6_2, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p0_p6_2, 0 }; -static const long _huff_lengthlist__44p0_short[] = { +static const char _huff_lengthlist__44p0_short[] = { 3, 3, 7, 8,10,13,16, 3, 2, 5, 7, 9,13,16, 6, 4, 4, 6,10,14,15, 7, 5, 5, 7,10,13,14, 9, 8, 9, 9, 9,11,13,12,11,12, 9, 7, 8,11,14,12,10, 6, 5, 7, @@ -876,7 +893,7 @@ static const long _huff_lengthlist__44p0_short[] = { static const static_codebook _huff_book__44p0_short = { 2, 49, - (long *)_huff_lengthlist__44p0_short, + (char *)_huff_lengthlist__44p0_short, 0, 0, 0, 0, 0, NULL, 0 @@ -898,7 +915,7 @@ static const long _vq_quantlist__44p1_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p1_l0_0[] = { +static const char _vq_lengthlist__44p1_l0_0[] = { 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 4, 6, 5, 8, 6, 9, 8,10, 9,10,10,11,10, 5, 5, 6, 6, 8, 8, 9, 9,10,10,10,10,11, 7, 8, 8, 9, 8,10, 9,10, 9, @@ -914,7 +931,7 @@ static const long _vq_lengthlist__44p1_l0_0[] = { static const static_codebook _44p1_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p1_l0_0, + (char *)_vq_lengthlist__44p1_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p1_l0_0, 0 @@ -928,14 +945,14 @@ static const long _vq_quantlist__44p1_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p1_l0_1[] = { +static const char _vq_lengthlist__44p1_l0_1[] = { 1, 4, 4, 6, 6, 5, 5, 5, 6, 6, 5, 6, 5, 6, 6, 6, 6, 7, 7, 7, 6, 7, 6, 7, 7, }; static const static_codebook _44p1_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p1_l0_1, + (char *)_vq_lengthlist__44p1_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p1_l0_1, 0 @@ -947,31 +964,31 @@ static const long _vq_quantlist__44p1_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p1_l1_0[] = { +static const char _vq_lengthlist__44p1_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p1_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p1_l1_0, + (char *)_vq_lengthlist__44p1_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p1_l1_0, 0 }; -static const long _huff_lengthlist__44p1_lfe[] = { +static const char _huff_lengthlist__44p1_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p1_lfe = { 2, 4, - (long *)_huff_lengthlist__44p1_lfe, + (char *)_huff_lengthlist__44p1_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p1_long[] = { +static const char _huff_lengthlist__44p1_long[] = { 3, 3, 7, 7, 9,13,16, 3, 2, 4, 6,10,13,17, 7, 4, 4, 6, 9,12,14, 7, 6, 6, 5, 7, 9,12,10,10, 9, 6, 6, 9,12,14,14,13, 9, 8,10,11,18,18,15,13,11,10, @@ -980,7 +997,7 @@ static const long _huff_lengthlist__44p1_long[] = { static const static_codebook _huff_book__44p1_long = { 2, 49, - (long *)_huff_lengthlist__44p1_long, + (char *)_huff_lengthlist__44p1_long, 0, 0, 0, 0, 0, NULL, 0 @@ -992,7 +1009,7 @@ static const long _vq_quantlist__44p1_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p1_p1_0[] = { +static const char _vq_lengthlist__44p1_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1013,7 +1030,7 @@ static const long _vq_lengthlist__44p1_p1_0[] = { static const static_codebook _44p1_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p1_p1_0, + (char *)_vq_lengthlist__44p1_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p1_p1_0, 0 @@ -1025,7 +1042,7 @@ static const long _vq_quantlist__44p1_p2_0[] = { 2, }; -static const long _vq_lengthlist__44p1_p2_0[] = { +static const char _vq_lengthlist__44p1_p2_0[] = { 1, 4, 4, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 6, 6, 0,11, 11, 0,11,11, 0,12,12, 0,14,14, 0,11,11, 0,12,12, @@ -1046,7 +1063,7 @@ static const long _vq_lengthlist__44p1_p2_0[] = { static const static_codebook _44p1_p2_0 = { 5, 243, - (long *)_vq_lengthlist__44p1_p2_0, + (char *)_vq_lengthlist__44p1_p2_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p1_p2_0, 0 @@ -1058,7 +1075,7 @@ static const long _vq_quantlist__44p1_p2_1[] = { 2, }; -static const long _vq_lengthlist__44p1_p2_1[] = { +static const char _vq_lengthlist__44p1_p2_1[] = { 1, 3, 3, 0, 8, 8, 0, 8, 8, 0,10,10, 0, 9, 9, 0, 10,10, 0,10,10, 0, 9, 9, 0,10,10, 0, 7, 7, 0, 7, 7, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 9, 9, @@ -1079,7 +1096,7 @@ static const long _vq_lengthlist__44p1_p2_1[] = { static const static_codebook _44p1_p2_1 = { 5, 243, - (long *)_vq_lengthlist__44p1_p2_1, + (char *)_vq_lengthlist__44p1_p2_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p1_p2_1, 0 @@ -1091,7 +1108,7 @@ static const long _vq_quantlist__44p1_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p1_p3_0[] = { +static const char _vq_lengthlist__44p1_p3_0[] = { 1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9, 8, 8, 7, 9, 9,11,12,12, 9, 8, 8, 6, 7, 7, 9,11, 11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11, @@ -1112,7 +1129,7 @@ static const long _vq_lengthlist__44p1_p3_0[] = { static const static_codebook _44p1_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p1_p3_0, + (char *)_vq_lengthlist__44p1_p3_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p1_p3_0, 0 @@ -1126,7 +1143,7 @@ static const long _vq_quantlist__44p1_p3_1[] = { 4, }; -static const long _vq_lengthlist__44p1_p3_1[] = { +static const char _vq_lengthlist__44p1_p3_1[] = { 2, 3, 4, 7, 7,10,12,12,12,12,10,11,11,13,13,11, 12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12, 12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13, @@ -1327,7 +1344,7 @@ static const long _vq_lengthlist__44p1_p3_1[] = { static const static_codebook _44p1_p3_1 = { 5, 3125, - (long *)_vq_lengthlist__44p1_p3_1, + (char *)_vq_lengthlist__44p1_p3_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p1_p3_1, 0 @@ -1341,7 +1358,7 @@ static const long _vq_quantlist__44p1_p4_0[] = { 4, }; -static const long _vq_lengthlist__44p1_p4_0[] = { +static const char _vq_lengthlist__44p1_p4_0[] = { 2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,14,14, 0, 13,13,16,16, 0,13,13,15,14, 7, 8, 8,15,15, 9,10, 10,16,16, 9, 8, 8,15,15, 0,13,13,17,16, 0,13,13, @@ -1542,7 +1559,7 @@ static const long _vq_lengthlist__44p1_p4_0[] = { static const static_codebook _44p1_p4_0 = { 5, 3125, - (long *)_vq_lengthlist__44p1_p4_0, + (char *)_vq_lengthlist__44p1_p4_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p1_p4_0, 0 @@ -1558,13 +1575,13 @@ static const long _vq_quantlist__44p1_p4_1[] = { 6, }; -static const long _vq_lengthlist__44p1_p4_1[] = { +static const char _vq_lengthlist__44p1_p4_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p1_p4_1 = { 1, 7, - (long *)_vq_lengthlist__44p1_p4_1, + (char *)_vq_lengthlist__44p1_p4_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p1_p4_1, 0 @@ -1576,7 +1593,7 @@ static const long _vq_quantlist__44p1_p5_0[] = { 2, }; -static const long _vq_lengthlist__44p1_p5_0[] = { +static const char _vq_lengthlist__44p1_p5_0[] = { 1, 6, 6, 7, 8, 8, 7, 8, 8, 7, 9, 8,10,11,11, 9, 8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7,10,10, 10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10, @@ -1597,7 +1614,7 @@ static const long _vq_lengthlist__44p1_p5_0[] = { static const static_codebook _44p1_p5_0 = { 5, 243, - (long *)_vq_lengthlist__44p1_p5_0, + (char *)_vq_lengthlist__44p1_p5_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p1_p5_0, 0 @@ -1609,7 +1626,7 @@ static const long _vq_quantlist__44p1_p5_1[] = { 2, }; -static const long _vq_lengthlist__44p1_p5_1[] = { +static const char _vq_lengthlist__44p1_p5_1[] = { 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 8, 8, 8, 7, 7, 8, 8, 8, 9, 8, 8, 9, 7, 7, 6, 6, 6, 9, 8, 7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8, @@ -1630,7 +1647,7 @@ static const long _vq_lengthlist__44p1_p5_1[] = { static const static_codebook _44p1_p5_1 = { 5, 243, - (long *)_vq_lengthlist__44p1_p5_1, + (char *)_vq_lengthlist__44p1_p5_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p1_p5_1, 0 @@ -1642,7 +1659,7 @@ static const long _vq_quantlist__44p1_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p1_p6_0[] = { +static const char _vq_lengthlist__44p1_p6_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -1663,7 +1680,7 @@ static const long _vq_lengthlist__44p1_p6_0[] = { static const static_codebook _44p1_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p1_p6_0, + (char *)_vq_lengthlist__44p1_p6_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p1_p6_0, 0 @@ -1697,14 +1714,14 @@ static const long _vq_quantlist__44p1_p6_1[] = { 24, }; -static const long _vq_lengthlist__44p1_p6_1[] = { +static const char _vq_lengthlist__44p1_p6_1[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,13,14,16,16,16,16, }; static const static_codebook _44p1_p6_1 = { 1, 25, - (long *)_vq_lengthlist__44p1_p6_1, + (char *)_vq_lengthlist__44p1_p6_1, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p1_p6_1, 0 @@ -1738,20 +1755,20 @@ static const long _vq_quantlist__44p1_p6_2[] = { 24, }; -static const long _vq_lengthlist__44p1_p6_2[] = { +static const char _vq_lengthlist__44p1_p6_2[] = { 3, 4, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p1_p6_2 = { 1, 25, - (long *)_vq_lengthlist__44p1_p6_2, + (char *)_vq_lengthlist__44p1_p6_2, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p1_p6_2, 0 }; -static const long _huff_lengthlist__44p1_short[] = { +static const char _huff_lengthlist__44p1_short[] = { 4, 5, 7, 8,10,13,14, 4, 2, 4, 6, 8,11,12, 7, 4, 3, 5, 8,12,14, 8, 5, 4, 4, 8,12,12, 9, 7, 7, 7, 9,10,11,13,11,11, 9, 7, 8,10,13,11,10, 6, 5, 7, @@ -1760,7 +1777,7 @@ static const long _huff_lengthlist__44p1_short[] = { static const static_codebook _huff_book__44p1_short = { 2, 49, - (long *)_huff_lengthlist__44p1_short, + (char *)_huff_lengthlist__44p1_short, 0, 0, 0, 0, 0, NULL, 0 @@ -1782,7 +1799,7 @@ static const long _vq_quantlist__44p2_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p2_l0_0[] = { +static const char _vq_lengthlist__44p2_l0_0[] = { 1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 4, 6, 5, 8, 7, 9, 8,10, 9,11,10,11,11, 4, 5, 6, 7, 8, 8, 9, 9,10,10,10,10,11, 8, 9, 8,10, 8,10, 9,11,10, @@ -1798,7 +1815,7 @@ static const long _vq_lengthlist__44p2_l0_0[] = { static const static_codebook _44p2_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p2_l0_0, + (char *)_vq_lengthlist__44p2_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p2_l0_0, 0 @@ -1812,14 +1829,14 @@ static const long _vq_quantlist__44p2_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p2_l0_1[] = { +static const char _vq_lengthlist__44p2_l0_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5, 5, 6, 6, 6, 5, 6, 5, 6, 6, }; static const static_codebook _44p2_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p2_l0_1, + (char *)_vq_lengthlist__44p2_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p2_l0_1, 0 @@ -1831,31 +1848,31 @@ static const long _vq_quantlist__44p2_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p2_l1_0[] = { +static const char _vq_lengthlist__44p2_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p2_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p2_l1_0, + (char *)_vq_lengthlist__44p2_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p2_l1_0, 0 }; -static const long _huff_lengthlist__44p2_lfe[] = { +static const char _huff_lengthlist__44p2_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p2_lfe = { 2, 4, - (long *)_huff_lengthlist__44p2_lfe, + (char *)_huff_lengthlist__44p2_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p2_long[] = { +static const char _huff_lengthlist__44p2_long[] = { 3, 4, 9, 8, 8,10,13,16, 4, 2, 9, 5, 7,10,14,18, 9, 7, 6, 5, 7, 9,12,16, 7, 5, 5, 3, 5, 8,11,13, 8, 7, 7, 5, 5, 7, 9,11,10,10, 9, 8, 6, 6, 8,10, @@ -1864,7 +1881,7 @@ static const long _huff_lengthlist__44p2_long[] = { static const static_codebook _huff_book__44p2_long = { 2, 64, - (long *)_huff_lengthlist__44p2_long, + (char *)_huff_lengthlist__44p2_long, 0, 0, 0, 0, 0, NULL, 0 @@ -1876,7 +1893,7 @@ static const long _vq_quantlist__44p2_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p2_p1_0[] = { +static const char _vq_lengthlist__44p2_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1897,7 +1914,7 @@ static const long _vq_lengthlist__44p2_p1_0[] = { static const static_codebook _44p2_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p2_p1_0, + (char *)_vq_lengthlist__44p2_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p2_p1_0, 0 @@ -1911,7 +1928,7 @@ static const long _vq_quantlist__44p2_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p2_p2_0[] = { +static const char _vq_lengthlist__44p2_p2_0[] = { 1, 4, 4, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 10,10, 0, 0, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,11,11, 0, 0, 0, 0, 0, @@ -2112,7 +2129,7 @@ static const long _vq_lengthlist__44p2_p2_0[] = { static const static_codebook _44p2_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p2_p2_0, + (char *)_vq_lengthlist__44p2_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p2_p2_0, 0 @@ -2124,7 +2141,7 @@ static const long _vq_quantlist__44p2_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p2_p3_0[] = { +static const char _vq_lengthlist__44p2_p3_0[] = { 1, 5, 5, 6, 7, 7, 0, 8, 8, 6, 9, 9, 8,11,11, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 5, 7, 7, 7,10, 10, 0,12,12, 8,11,11, 9,12,12, 0,11,12, 0,12,12, @@ -2145,7 +2162,7 @@ static const long _vq_lengthlist__44p2_p3_0[] = { static const static_codebook _44p2_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p2_p3_0, + (char *)_vq_lengthlist__44p2_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p2_p3_0, 0 @@ -2157,7 +2174,7 @@ static const long _vq_quantlist__44p2_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p2_p3_1[] = { +static const char _vq_lengthlist__44p2_p3_1[] = { 2, 3, 3, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 0, 9, 9, 0, 8, 8, 0, 6, 6, 0, 7, 7, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, @@ -2178,7 +2195,7 @@ static const long _vq_lengthlist__44p2_p3_1[] = { static const static_codebook _44p2_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p2_p3_1, + (char *)_vq_lengthlist__44p2_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p2_p3_1, 0 @@ -2190,7 +2207,7 @@ static const long _vq_quantlist__44p2_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p2_p4_0[] = { +static const char _vq_lengthlist__44p2_p4_0[] = { 1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9, 8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7, 9,11, 11, 9,11,11,10,11,11,12,13,13,11,12,12,10,11,11, @@ -2211,7 +2228,7 @@ static const long _vq_lengthlist__44p2_p4_0[] = { static const static_codebook _44p2_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p2_p4_0, + (char *)_vq_lengthlist__44p2_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p2_p4_0, 0 @@ -2225,7 +2242,7 @@ static const long _vq_quantlist__44p2_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p2_p4_1[] = { +static const char _vq_lengthlist__44p2_p4_1[] = { 3, 4, 4, 8, 8,11, 9, 9,12,12,11,10,10,12,12,12, 10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12, 12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13, @@ -2426,7 +2443,7 @@ static const long _vq_lengthlist__44p2_p4_1[] = { static const static_codebook _44p2_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p2_p4_1, + (char *)_vq_lengthlist__44p2_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p2_p4_1, 0 @@ -2440,7 +2457,7 @@ static const long _vq_quantlist__44p2_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p2_p5_0[] = { +static const char _vq_lengthlist__44p2_p5_0[] = { 2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,15,15, 0, 13,13,16,16, 0,13,13,15,15, 7, 8, 8,15,15, 9,10, 10,17,16, 9, 8, 8,15,15, 0,13,13,18,17, 0,13,13, @@ -2641,7 +2658,7 @@ static const long _vq_lengthlist__44p2_p5_0[] = { static const static_codebook _44p2_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p2_p5_0, + (char *)_vq_lengthlist__44p2_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p2_p5_0, 0 @@ -2657,13 +2674,13 @@ static const long _vq_quantlist__44p2_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p2_p5_1[] = { +static const char _vq_lengthlist__44p2_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p2_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p2_p5_1, + (char *)_vq_lengthlist__44p2_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p2_p5_1, 0 @@ -2675,7 +2692,7 @@ static const long _vq_quantlist__44p2_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p2_p6_0[] = { +static const char _vq_lengthlist__44p2_p6_0[] = { 1, 7, 7, 7, 8, 8, 7, 8, 8, 7, 9, 9,10,11,11, 9, 8, 8, 7, 8, 9,11,11,11, 9, 8, 8, 6, 7, 7,10,10, 10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11, @@ -2696,7 +2713,7 @@ static const long _vq_lengthlist__44p2_p6_0[] = { static const static_codebook _44p2_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p2_p6_0, + (char *)_vq_lengthlist__44p2_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p2_p6_0, 0 @@ -2708,7 +2725,7 @@ static const long _vq_quantlist__44p2_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p2_p6_1[] = { +static const char _vq_lengthlist__44p2_p6_1[] = { 2, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 8, 7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 7, 7, 9, 8, 8, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8, @@ -2729,7 +2746,7 @@ static const long _vq_lengthlist__44p2_p6_1[] = { static const static_codebook _44p2_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p2_p6_1, + (char *)_vq_lengthlist__44p2_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p2_p6_1, 0 @@ -2741,7 +2758,7 @@ static const long _vq_quantlist__44p2_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p2_p7_0[] = { +static const char _vq_lengthlist__44p2_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -2762,7 +2779,7 @@ static const long _vq_lengthlist__44p2_p7_0[] = { static const static_codebook _44p2_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p2_p7_0, + (char *)_vq_lengthlist__44p2_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p2_p7_0, 0 @@ -2774,7 +2791,7 @@ static const long _vq_quantlist__44p2_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p2_p7_1[] = { +static const char _vq_lengthlist__44p2_p7_1[] = { 1, 9, 9, 6, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -2795,7 +2812,7 @@ static const long _vq_lengthlist__44p2_p7_1[] = { static const static_codebook _44p2_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p2_p7_1, + (char *)_vq_lengthlist__44p2_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p2_p7_1, 0 @@ -2829,14 +2846,14 @@ static const long _vq_quantlist__44p2_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p2_p7_2[] = { +static const char _vq_lengthlist__44p2_p7_2[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p2_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p2_p7_2, + (char *)_vq_lengthlist__44p2_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p2_p7_2, 0 @@ -2870,20 +2887,20 @@ static const long _vq_quantlist__44p2_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p2_p7_3[] = { +static const char _vq_lengthlist__44p2_p7_3[] = { 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p2_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p2_p7_3, + (char *)_vq_lengthlist__44p2_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p2_p7_3, 0 }; -static const long _huff_lengthlist__44p2_short[] = { +static const char _huff_lengthlist__44p2_short[] = { 4, 4,12, 9, 8,12,15,17, 4, 2,11, 6, 5, 9,13,15, 11, 7, 8, 7, 7,10,14,13, 8, 5, 7, 5, 5, 8,12,12, 8, 4, 7, 4, 3, 6,11,12,11, 8, 9, 7, 6, 8,11,12, @@ -2892,7 +2909,7 @@ static const long _huff_lengthlist__44p2_short[] = { static const static_codebook _huff_book__44p2_short = { 2, 64, - (long *)_huff_lengthlist__44p2_short, + (char *)_huff_lengthlist__44p2_short, 0, 0, 0, 0, 0, NULL, 0 @@ -2914,7 +2931,7 @@ static const long _vq_quantlist__44p3_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p3_l0_0[] = { +static const char _vq_lengthlist__44p3_l0_0[] = { 1, 4, 4, 8, 8, 8, 8, 9, 9,10,10,10,10, 4, 6, 5, 8, 7, 9, 9, 9, 9,10, 9,11, 9, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9,10, 9,10, 8, 9, 8, 9, 8,10, 9,11, 9, @@ -2930,7 +2947,7 @@ static const long _vq_lengthlist__44p3_l0_0[] = { static const static_codebook _44p3_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p3_l0_0, + (char *)_vq_lengthlist__44p3_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p3_l0_0, 0 @@ -2944,14 +2961,14 @@ static const long _vq_quantlist__44p3_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p3_l0_1[] = { +static const char _vq_lengthlist__44p3_l0_1[] = { 3, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, }; static const static_codebook _44p3_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p3_l0_1, + (char *)_vq_lengthlist__44p3_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p3_l0_1, 0 @@ -2963,31 +2980,31 @@ static const long _vq_quantlist__44p3_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p3_l1_0[] = { +static const char _vq_lengthlist__44p3_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p3_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p3_l1_0, + (char *)_vq_lengthlist__44p3_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p3_l1_0, 0 }; -static const long _huff_lengthlist__44p3_lfe[] = { +static const char _huff_lengthlist__44p3_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p3_lfe = { 2, 4, - (long *)_huff_lengthlist__44p3_lfe, + (char *)_huff_lengthlist__44p3_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p3_long[] = { +static const char _huff_lengthlist__44p3_long[] = { 3, 4,13, 9, 9,12,15,17, 4, 2,18, 5, 7,10,14,18, 11, 8, 6, 5, 6, 8,11,14, 8, 5, 5, 3, 5, 8,11,13, 9, 6, 7, 5, 5, 7, 9,10,11,10, 9, 8, 6, 6, 8,10, @@ -2996,7 +3013,7 @@ static const long _huff_lengthlist__44p3_long[] = { static const static_codebook _huff_book__44p3_long = { 2, 64, - (long *)_huff_lengthlist__44p3_long, + (char *)_huff_lengthlist__44p3_long, 0, 0, 0, 0, 0, NULL, 0 @@ -3008,7 +3025,7 @@ static const long _vq_quantlist__44p3_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p3_p1_0[] = { +static const char _vq_lengthlist__44p3_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3029,7 +3046,7 @@ static const long _vq_lengthlist__44p3_p1_0[] = { static const static_codebook _44p3_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p3_p1_0, + (char *)_vq_lengthlist__44p3_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p3_p1_0, 0 @@ -3043,7 +3060,7 @@ static const long _vq_quantlist__44p3_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p3_p2_0[] = { +static const char _vq_lengthlist__44p3_p2_0[] = { 3, 7, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 11,11, 0, 0, 0, 0, 0, 0, 0, 0,10, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,10,11, 0, 0, 0, 0, 0, @@ -3244,7 +3261,7 @@ static const long _vq_lengthlist__44p3_p2_0[] = { static const static_codebook _44p3_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p3_p2_0, + (char *)_vq_lengthlist__44p3_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p3_p2_0, 0 @@ -3256,7 +3273,7 @@ static const long _vq_quantlist__44p3_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p3_p3_0[] = { +static const char _vq_lengthlist__44p3_p3_0[] = { 1, 5, 5, 5, 8, 8, 0, 8, 8, 6, 9, 9, 8,10,10, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 4, 7, 7, 6,10, 10, 0,12,12, 7,11,11, 9,12,12, 0,12,12, 0,13,13, @@ -3277,7 +3294,7 @@ static const long _vq_lengthlist__44p3_p3_0[] = { static const static_codebook _44p3_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p3_p3_0, + (char *)_vq_lengthlist__44p3_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p3_p3_0, 0 @@ -3289,7 +3306,7 @@ static const long _vq_quantlist__44p3_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p3_p3_1[] = { +static const char _vq_lengthlist__44p3_p3_1[] = { 3, 4, 4, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0,10,10, 0, 8, 8, 0, 9, 9, 0,10,10, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, @@ -3310,7 +3327,7 @@ static const long _vq_lengthlist__44p3_p3_1[] = { static const static_codebook _44p3_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p3_p3_1, + (char *)_vq_lengthlist__44p3_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p3_p3_1, 0 @@ -3322,7 +3339,7 @@ static const long _vq_quantlist__44p3_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p3_p4_0[] = { +static const char _vq_lengthlist__44p3_p4_0[] = { 1, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8,10,11,11, 9, 8, 8, 8, 8, 8,11,11,11,10, 8, 8, 5, 7, 7, 9,11, 11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11, @@ -3343,7 +3360,7 @@ static const long _vq_lengthlist__44p3_p4_0[] = { static const static_codebook _44p3_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p3_p4_0, + (char *)_vq_lengthlist__44p3_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p3_p4_0, 0 @@ -3357,7 +3374,7 @@ static const long _vq_quantlist__44p3_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p3_p4_1[] = { +static const char _vq_lengthlist__44p3_p4_1[] = { 3, 4, 5, 8, 8,12,10,10,12,12,12,10,10,12,12,13, 11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13, 13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13, @@ -3558,7 +3575,7 @@ static const long _vq_lengthlist__44p3_p4_1[] = { static const static_codebook _44p3_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p3_p4_1, + (char *)_vq_lengthlist__44p3_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p3_p4_1, 0 @@ -3572,7 +3589,7 @@ static const long _vq_quantlist__44p3_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p3_p5_0[] = { +static const char _vq_lengthlist__44p3_p5_0[] = { 2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,15,15, 0, 12,12,15,15, 0,13,13,15,15, 7, 8, 8,15,15,10,10, 10,16,16, 9, 8, 8,15,15, 0,13,13,18,17, 0,13,13, @@ -3773,7 +3790,7 @@ static const long _vq_lengthlist__44p3_p5_0[] = { static const static_codebook _44p3_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p3_p5_0, + (char *)_vq_lengthlist__44p3_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p3_p5_0, 0 @@ -3789,13 +3806,13 @@ static const long _vq_quantlist__44p3_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p3_p5_1[] = { +static const char _vq_lengthlist__44p3_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p3_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p3_p5_1, + (char *)_vq_lengthlist__44p3_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p3_p5_1, 0 @@ -3807,7 +3824,7 @@ static const long _vq_quantlist__44p3_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p3_p6_0[] = { +static const char _vq_lengthlist__44p3_p6_0[] = { 1, 6, 6, 7, 7, 7, 7, 8, 8, 7, 9, 9,11,11,11, 9, 8, 8, 8, 9, 9,12,11,11, 9, 8, 8, 6, 7, 7,10,11, 10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11, @@ -3828,7 +3845,7 @@ static const long _vq_lengthlist__44p3_p6_0[] = { static const static_codebook _44p3_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p3_p6_0, + (char *)_vq_lengthlist__44p3_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p3_p6_0, 0 @@ -3840,7 +3857,7 @@ static const long _vq_quantlist__44p3_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p3_p6_1[] = { +static const char _vq_lengthlist__44p3_p6_1[] = { 2, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 7, 7, 8, 8, 8, 9, 9, 9, 9, 7, 8, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8, 8,10, 9, 9,10, 8, 8,10, 8, 8, @@ -3861,7 +3878,7 @@ static const long _vq_lengthlist__44p3_p6_1[] = { static const static_codebook _44p3_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p3_p6_1, + (char *)_vq_lengthlist__44p3_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p3_p6_1, 0 @@ -3873,7 +3890,7 @@ static const long _vq_quantlist__44p3_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p3_p7_0[] = { +static const char _vq_lengthlist__44p3_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -3894,7 +3911,7 @@ static const long _vq_lengthlist__44p3_p7_0[] = { static const static_codebook _44p3_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p3_p7_0, + (char *)_vq_lengthlist__44p3_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p3_p7_0, 0 @@ -3906,7 +3923,7 @@ static const long _vq_quantlist__44p3_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p3_p7_1[] = { +static const char _vq_lengthlist__44p3_p7_1[] = { 1, 9, 9, 6, 9, 9, 5, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -3927,7 +3944,7 @@ static const long _vq_lengthlist__44p3_p7_1[] = { static const static_codebook _44p3_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p3_p7_1, + (char *)_vq_lengthlist__44p3_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p3_p7_1, 0 @@ -3961,14 +3978,14 @@ static const long _vq_quantlist__44p3_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p3_p7_2[] = { +static const char _vq_lengthlist__44p3_p7_2[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p3_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p3_p7_2, + (char *)_vq_lengthlist__44p3_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p3_p7_2, 0 @@ -4002,20 +4019,20 @@ static const long _vq_quantlist__44p3_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p3_p7_3[] = { +static const char _vq_lengthlist__44p3_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p3_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p3_p7_3, + (char *)_vq_lengthlist__44p3_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p3_p7_3, 0 }; -static const long _huff_lengthlist__44p3_short[] = { +static const char _huff_lengthlist__44p3_short[] = { 4, 5,16, 9, 9,12,17,18, 4, 2,18, 6, 5, 9,13,15, 10, 7, 7, 6, 7, 9,13,13, 8, 5, 6, 5, 5, 7,11,12, 8, 4, 7, 4, 3, 6,10,12,11, 8, 9, 7, 6, 8,11,12, @@ -4024,7 +4041,7 @@ static const long _huff_lengthlist__44p3_short[] = { static const static_codebook _huff_book__44p3_short = { 2, 64, - (long *)_huff_lengthlist__44p3_short, + (char *)_huff_lengthlist__44p3_short, 0, 0, 0, 0, 0, NULL, 0 @@ -4046,7 +4063,7 @@ static const long _vq_quantlist__44p4_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p4_l0_0[] = { +static const char _vq_lengthlist__44p4_l0_0[] = { 1, 4, 4, 8, 8, 9, 8, 9, 9,10,10,10,10, 4, 6, 5, 8, 7, 9, 9, 9, 9,10, 9,10,10, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9,10, 9,10, 8, 9, 8, 9, 8,10, 9,11, 9, @@ -4062,7 +4079,7 @@ static const long _vq_lengthlist__44p4_l0_0[] = { static const static_codebook _44p4_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p4_l0_0, + (char *)_vq_lengthlist__44p4_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p4_l0_0, 0 @@ -4076,14 +4093,14 @@ static const long _vq_quantlist__44p4_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p4_l0_1[] = { +static const char _vq_lengthlist__44p4_l0_1[] = { 3, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, }; static const static_codebook _44p4_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p4_l0_1, + (char *)_vq_lengthlist__44p4_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p4_l0_1, 0 @@ -4095,31 +4112,31 @@ static const long _vq_quantlist__44p4_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p4_l1_0[] = { +static const char _vq_lengthlist__44p4_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p4_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p4_l1_0, + (char *)_vq_lengthlist__44p4_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p4_l1_0, 0 }; -static const long _huff_lengthlist__44p4_lfe[] = { +static const char _huff_lengthlist__44p4_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p4_lfe = { 2, 4, - (long *)_huff_lengthlist__44p4_lfe, + (char *)_huff_lengthlist__44p4_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p4_long[] = { +static const char _huff_lengthlist__44p4_long[] = { 3, 5,13, 9, 9,12,16,18, 4, 2,20, 6, 7,10,15,20, 10, 7, 5, 5, 6, 8,10,13, 8, 5, 5, 3, 5, 7,10,11, 9, 7, 6, 5, 5, 7, 9, 9,11,10, 8, 7, 6, 6, 8, 8, @@ -4128,7 +4145,7 @@ static const long _huff_lengthlist__44p4_long[] = { static const static_codebook _huff_book__44p4_long = { 2, 64, - (long *)_huff_lengthlist__44p4_long, + (char *)_huff_lengthlist__44p4_long, 0, 0, 0, 0, 0, NULL, 0 @@ -4140,7 +4157,7 @@ static const long _vq_quantlist__44p4_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p4_p1_0[] = { +static const char _vq_lengthlist__44p4_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4161,7 +4178,7 @@ static const long _vq_lengthlist__44p4_p1_0[] = { static const static_codebook _44p4_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p4_p1_0, + (char *)_vq_lengthlist__44p4_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p4_p1_0, 0 @@ -4175,7 +4192,7 @@ static const long _vq_quantlist__44p4_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p4_p2_0[] = { +static const char _vq_lengthlist__44p4_p2_0[] = { 3, 9, 9, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 12,12, 0, 0, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,11,11, 0, 0, 0, 0, 0, @@ -4376,7 +4393,7 @@ static const long _vq_lengthlist__44p4_p2_0[] = { static const static_codebook _44p4_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p4_p2_0, + (char *)_vq_lengthlist__44p4_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p4_p2_0, 0 @@ -4388,7 +4405,7 @@ static const long _vq_quantlist__44p4_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p4_p3_0[] = { +static const char _vq_lengthlist__44p4_p3_0[] = { 1, 6, 6, 5, 7, 8, 0, 8, 8, 6, 9, 9, 7,10,10, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 4, 7, 7, 6,10, 10, 0,12,12, 7,11,11, 8,12,12, 0,12,12, 0,13,12, @@ -4409,7 +4426,7 @@ static const long _vq_lengthlist__44p4_p3_0[] = { static const static_codebook _44p4_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p4_p3_0, + (char *)_vq_lengthlist__44p4_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p4_p3_0, 0 @@ -4421,7 +4438,7 @@ static const long _vq_quantlist__44p4_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p4_p3_1[] = { +static const char _vq_lengthlist__44p4_p3_1[] = { 3, 5, 5, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0,10,10, 0, 8, 8, 0, 8, 8, 0,10,10, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, @@ -4442,7 +4459,7 @@ static const long _vq_lengthlist__44p4_p3_1[] = { static const static_codebook _44p4_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p4_p3_1, + (char *)_vq_lengthlist__44p4_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p4_p3_1, 0 @@ -4454,7 +4471,7 @@ static const long _vq_quantlist__44p4_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p4_p4_0[] = { +static const char _vq_lengthlist__44p4_p4_0[] = { 1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9, 8, 8, 8, 8, 8,11,11,12, 9, 8, 8, 5, 7, 7, 9,11, 11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12, @@ -4475,7 +4492,7 @@ static const long _vq_lengthlist__44p4_p4_0[] = { static const static_codebook _44p4_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p4_p4_0, + (char *)_vq_lengthlist__44p4_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p4_p4_0, 0 @@ -4489,7 +4506,7 @@ static const long _vq_quantlist__44p4_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p4_p4_1[] = { +static const char _vq_lengthlist__44p4_p4_1[] = { 4, 5, 5, 9, 9,12, 9, 9,12,12,12,10,10,13,13,13, 11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13, 13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14, @@ -4690,7 +4707,7 @@ static const long _vq_lengthlist__44p4_p4_1[] = { static const static_codebook _44p4_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p4_p4_1, + (char *)_vq_lengthlist__44p4_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p4_p4_1, 0 @@ -4704,7 +4721,7 @@ static const long _vq_quantlist__44p4_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p4_p5_0[] = { +static const char _vq_lengthlist__44p4_p5_0[] = { 1, 7, 6,15,15, 7, 8, 8,15,15, 8, 8, 8,15,15, 0, 13,13,16,16, 0,14,14,16,16, 7, 9, 9,16,16,10,11, 11,17,17,10, 8, 8,15,16, 0,14,14,18,18, 0,14,14, @@ -4905,7 +4922,7 @@ static const long _vq_lengthlist__44p4_p5_0[] = { static const static_codebook _44p4_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p4_p5_0, + (char *)_vq_lengthlist__44p4_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p4_p5_0, 0 @@ -4921,13 +4938,13 @@ static const long _vq_quantlist__44p4_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p4_p5_1[] = { +static const char _vq_lengthlist__44p4_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p4_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p4_p5_1, + (char *)_vq_lengthlist__44p4_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p4_p5_1, 0 @@ -4939,7 +4956,7 @@ static const long _vq_quantlist__44p4_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p4_p6_0[] = { +static const char _vq_lengthlist__44p4_p6_0[] = { 1, 7, 7, 7, 8, 8, 7, 8, 8, 7, 9, 9,11,11,11, 9, 8, 8, 8, 9, 9,12,11,12, 9, 8, 8, 6, 7, 7,10,11, 11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11, @@ -4960,7 +4977,7 @@ static const long _vq_lengthlist__44p4_p6_0[] = { static const static_codebook _44p4_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p4_p6_0, + (char *)_vq_lengthlist__44p4_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p4_p6_0, 0 @@ -4972,7 +4989,7 @@ static const long _vq_quantlist__44p4_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p4_p6_1[] = { +static const char _vq_lengthlist__44p4_p6_1[] = { 2, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 9, 9, 8, 8,10, 8, 8, @@ -4993,7 +5010,7 @@ static const long _vq_lengthlist__44p4_p6_1[] = { static const static_codebook _44p4_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p4_p6_1, + (char *)_vq_lengthlist__44p4_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p4_p6_1, 0 @@ -5005,7 +5022,7 @@ static const long _vq_quantlist__44p4_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p4_p7_0[] = { +static const char _vq_lengthlist__44p4_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -5026,7 +5043,7 @@ static const long _vq_lengthlist__44p4_p7_0[] = { static const static_codebook _44p4_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p4_p7_0, + (char *)_vq_lengthlist__44p4_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p4_p7_0, 0 @@ -5038,7 +5055,7 @@ static const long _vq_quantlist__44p4_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p4_p7_1[] = { +static const char _vq_lengthlist__44p4_p7_1[] = { 1, 9, 9, 7, 9, 9, 8, 8, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -5059,7 +5076,7 @@ static const long _vq_lengthlist__44p4_p7_1[] = { static const static_codebook _44p4_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p4_p7_1, + (char *)_vq_lengthlist__44p4_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p4_p7_1, 0 @@ -5093,14 +5110,14 @@ static const long _vq_quantlist__44p4_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p4_p7_2[] = { +static const char _vq_lengthlist__44p4_p7_2[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p4_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p4_p7_2, + (char *)_vq_lengthlist__44p4_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p4_p7_2, 0 @@ -5134,20 +5151,20 @@ static const long _vq_quantlist__44p4_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p4_p7_3[] = { +static const char _vq_lengthlist__44p4_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p4_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p4_p7_3, + (char *)_vq_lengthlist__44p4_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p4_p7_3, 0 }; -static const long _huff_lengthlist__44p4_short[] = { +static const char _huff_lengthlist__44p4_short[] = { 3, 5,16, 9, 9,13,18,21, 4, 2,21, 6, 6,10,15,21, 16,19, 6, 5, 7,10,13,16, 8, 6, 5, 4, 4, 8,13,16, 8, 5, 6, 4, 4, 7,12,15,13,10, 9, 7, 7, 9,13,16, @@ -5156,7 +5173,7 @@ static const long _huff_lengthlist__44p4_short[] = { static const static_codebook _huff_book__44p4_short = { 2, 64, - (long *)_huff_lengthlist__44p4_short, + (char *)_huff_lengthlist__44p4_short, 0, 0, 0, 0, 0, NULL, 0 @@ -5178,7 +5195,7 @@ static const long _vq_quantlist__44p5_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p5_l0_0[] = { +static const char _vq_lengthlist__44p5_l0_0[] = { 1, 4, 4, 8, 8,10,10,10,10, 9, 8,11,11, 4, 6, 5, 8, 6,10,10,10,10,10, 9,10, 9, 4, 5, 6, 6, 9,10, 10,10,10, 9,10, 9,10, 8, 9, 8, 9, 8, 9, 9,10, 9, @@ -5194,7 +5211,7 @@ static const long _vq_lengthlist__44p5_l0_0[] = { static const static_codebook _44p5_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p5_l0_0, + (char *)_vq_lengthlist__44p5_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p5_l0_0, 0 @@ -5208,14 +5225,14 @@ static const long _vq_quantlist__44p5_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p5_l0_1[] = { +static const char _vq_lengthlist__44p5_l0_1[] = { 4, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p5_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p5_l0_1, + (char *)_vq_lengthlist__44p5_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p5_l0_1, 0 @@ -5227,31 +5244,31 @@ static const long _vq_quantlist__44p5_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p5_l1_0[] = { +static const char _vq_lengthlist__44p5_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44p5_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p5_l1_0, + (char *)_vq_lengthlist__44p5_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p5_l1_0, 0 }; -static const long _huff_lengthlist__44p5_lfe[] = { +static const char _huff_lengthlist__44p5_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44p5_lfe = { 2, 4, - (long *)_huff_lengthlist__44p5_lfe, + (char *)_huff_lengthlist__44p5_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p5_long[] = { +static const char _huff_lengthlist__44p5_long[] = { 3, 7,12,14,14,16,18,19, 6, 2, 4, 6, 8, 9,12,14, 12, 3, 3, 5, 7, 8,11,13,13, 6, 4, 5, 7, 8,10,11, 14, 8, 7, 7, 7, 7, 9,10,15, 9, 8, 7, 7, 6, 8, 9, @@ -5260,7 +5277,7 @@ static const long _huff_lengthlist__44p5_long[] = { static const static_codebook _huff_book__44p5_long = { 2, 64, - (long *)_huff_lengthlist__44p5_long, + (char *)_huff_lengthlist__44p5_long, 0, 0, 0, 0, 0, NULL, 0 @@ -5272,7 +5289,7 @@ static const long _vq_quantlist__44p5_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p5_p1_0[] = { +static const char _vq_lengthlist__44p5_p1_0[] = { 2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9, 10, 8, 9,10, 8, 9,10, 9,10,12,10,11,11, 8,10,10, @@ -5293,7 +5310,7 @@ static const long _vq_lengthlist__44p5_p1_0[] = { static const static_codebook _44p5_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p5_p1_0, + (char *)_vq_lengthlist__44p5_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p5_p1_0, 0 @@ -5307,7 +5324,7 @@ static const long _vq_quantlist__44p5_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p5_p2_0[] = { +static const char _vq_lengthlist__44p5_p2_0[] = { 4, 6, 6, 9, 9, 6, 7, 8,10,10, 6, 8, 7,10,10, 8, 10,10,12,13, 8,10,10,13,12, 6, 7, 8,10,10, 7, 8, 9,10,11, 8, 9, 9,11,11,10,10,11,12,14,10,11,11, @@ -5508,7 +5525,7 @@ static const long _vq_lengthlist__44p5_p2_0[] = { static const static_codebook _44p5_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p5_p2_0, + (char *)_vq_lengthlist__44p5_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p5_p2_0, 0 @@ -5520,7 +5537,7 @@ static const long _vq_quantlist__44p5_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p5_p3_0[] = { +static const char _vq_lengthlist__44p5_p3_0[] = { 1, 5, 6, 5, 7, 8, 5, 8, 7, 5, 7, 8, 7, 8,10, 8, 10,10, 5, 8, 7, 8,10,10, 7,10, 8, 6, 8, 9, 8,10, 11, 9,10,10, 9,10,11,10,11,12,11,12,12, 9,11,10, @@ -5541,7 +5558,7 @@ static const long _vq_lengthlist__44p5_p3_0[] = { static const static_codebook _44p5_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p5_p3_0, + (char *)_vq_lengthlist__44p5_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p5_p3_0, 0 @@ -5553,7 +5570,7 @@ static const long _vq_quantlist__44p5_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p5_p3_1[] = { +static const char _vq_lengthlist__44p5_p3_1[] = { 5, 6, 6, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 7, 8, 7, 8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8, @@ -5574,7 +5591,7 @@ static const long _vq_lengthlist__44p5_p3_1[] = { static const static_codebook _44p5_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p5_p3_1, + (char *)_vq_lengthlist__44p5_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p5_p3_1, 0 @@ -5586,7 +5603,7 @@ static const long _vq_quantlist__44p5_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p5_p4_0[] = { +static const char _vq_lengthlist__44p5_p4_0[] = { 1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9, 10,10, 5, 8, 7, 9,10,10, 7,10, 7, 6, 8, 9, 9,10, 12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11, @@ -5607,7 +5624,7 @@ static const long _vq_lengthlist__44p5_p4_0[] = { static const static_codebook _44p5_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p5_p4_0, + (char *)_vq_lengthlist__44p5_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p5_p4_0, 0 @@ -5621,7 +5638,7 @@ static const long _vq_quantlist__44p5_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p5_p4_1[] = { +static const char _vq_lengthlist__44p5_p4_1[] = { 5, 7, 7,10,10, 7, 8, 9,10,11, 7, 9, 8,11,10, 9, 10,10,11,11, 9,10,10,11,11, 7, 9, 9,10,10, 8, 9, 10,10,11, 9,10,10,11,11,10,10,11,11,11,10,11,11, @@ -5822,7 +5839,7 @@ static const long _vq_lengthlist__44p5_p4_1[] = { static const static_codebook _44p5_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p5_p4_1, + (char *)_vq_lengthlist__44p5_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p5_p4_1, 0 @@ -5836,7 +5853,7 @@ static const long _vq_quantlist__44p5_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p5_p5_0[] = { +static const char _vq_lengthlist__44p5_p5_0[] = { 1, 6, 6,10,10, 6, 7, 9,11,13, 5, 9, 7,13,11, 8, 11,12,13,15, 8,12,11,15,13, 6, 7, 8,11,11, 7, 8, 10,11,13, 9,10,10,13,13,11,11,13,12,16,12,13,13, @@ -6037,7 +6054,7 @@ static const long _vq_lengthlist__44p5_p5_0[] = { static const static_codebook _44p5_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p5_p5_0, + (char *)_vq_lengthlist__44p5_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p5_p5_0, 0 @@ -6053,13 +6070,13 @@ static const long _vq_quantlist__44p5_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p5_p5_1[] = { +static const char _vq_lengthlist__44p5_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p5_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p5_p5_1, + (char *)_vq_lengthlist__44p5_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p5_p5_1, 0 @@ -6071,7 +6088,7 @@ static const long _vq_quantlist__44p5_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p5_p6_0[] = { +static const char _vq_lengthlist__44p5_p6_0[] = { 1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9, 9,10, 5, 8, 7, 9,10, 9, 7,10, 7, 6, 9, 9, 9,10, 12,10,12,11, 9,10,11,11,10,13,12,12,13,10,11,11, @@ -6092,7 +6109,7 @@ static const long _vq_lengthlist__44p5_p6_0[] = { static const static_codebook _44p5_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p5_p6_0, + (char *)_vq_lengthlist__44p5_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p5_p6_0, 0 @@ -6104,7 +6121,7 @@ static const long _vq_quantlist__44p5_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p5_p6_1[] = { +static const char _vq_lengthlist__44p5_p6_1[] = { 2, 6, 6, 5, 7, 8, 5, 8, 7, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 8, 9, 10, 8, 9, 9, 8, 9, 9, 9, 9,10,10,10,10, 8, 9, 9, @@ -6125,7 +6142,7 @@ static const long _vq_lengthlist__44p5_p6_1[] = { static const static_codebook _44p5_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p5_p6_1, + (char *)_vq_lengthlist__44p5_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p5_p6_1, 0 @@ -6137,7 +6154,7 @@ static const long _vq_quantlist__44p5_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p5_p7_0[] = { +static const char _vq_lengthlist__44p5_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6158,7 +6175,7 @@ static const long _vq_lengthlist__44p5_p7_0[] = { static const static_codebook _44p5_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p5_p7_0, + (char *)_vq_lengthlist__44p5_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p5_p7_0, 0 @@ -6170,7 +6187,7 @@ static const long _vq_quantlist__44p5_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p5_p7_1[] = { +static const char _vq_lengthlist__44p5_p7_1[] = { 1, 7, 7, 6, 9, 9, 7, 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6191,7 +6208,7 @@ static const long _vq_lengthlist__44p5_p7_1[] = { static const static_codebook _44p5_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p5_p7_1, + (char *)_vq_lengthlist__44p5_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p5_p7_1, 0 @@ -6225,14 +6242,14 @@ static const long _vq_quantlist__44p5_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p5_p7_2[] = { +static const char _vq_lengthlist__44p5_p7_2[] = { 1, 2, 3, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, 11,12,12,13,13,14,14,14,14, }; static const static_codebook _44p5_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p5_p7_2, + (char *)_vq_lengthlist__44p5_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p5_p7_2, 0 @@ -6266,20 +6283,20 @@ static const long _vq_quantlist__44p5_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p5_p7_3[] = { +static const char _vq_lengthlist__44p5_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p5_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p5_p7_3, + (char *)_vq_lengthlist__44p5_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p5_p7_3, 0 }; -static const long _huff_lengthlist__44p5_short[] = { +static const char _huff_lengthlist__44p5_short[] = { 4, 7,12,14,15,18,20,20, 5, 3, 4, 6, 9,11,15,19, 9, 4, 3, 4, 7, 9,13,18,11, 6, 3, 3, 5, 8,13,19, 14, 9, 6, 5, 7,10,16,20,16,11, 9, 8,10,10,14,16, @@ -6288,7 +6305,7 @@ static const long _huff_lengthlist__44p5_short[] = { static const static_codebook _huff_book__44p5_short = { 2, 64, - (long *)_huff_lengthlist__44p5_short, + (char *)_huff_lengthlist__44p5_short, 0, 0, 0, 0, 0, NULL, 0 @@ -6310,7 +6327,7 @@ static const long _vq_quantlist__44p6_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p6_l0_0[] = { +static const char _vq_lengthlist__44p6_l0_0[] = { 1, 4, 4, 7, 7,10,10,12,12,12,12,13,12, 5, 5, 5, 8, 6,11, 9,12,12,13,12,12,12, 4, 5, 5, 6, 8, 9, 11,12,12,13,12,12,12, 7, 7, 8, 9, 9,11, 8,12, 9, @@ -6326,7 +6343,7 @@ static const long _vq_lengthlist__44p6_l0_0[] = { static const static_codebook _44p6_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p6_l0_0, + (char *)_vq_lengthlist__44p6_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p6_l0_0, 0 @@ -6340,14 +6357,14 @@ static const long _vq_quantlist__44p6_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p6_l0_1[] = { +static const char _vq_lengthlist__44p6_l0_1[] = { 4, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 4, }; static const static_codebook _44p6_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p6_l0_1, + (char *)_vq_lengthlist__44p6_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p6_l0_1, 0 @@ -6359,31 +6376,31 @@ static const long _vq_quantlist__44p6_l1_0[] = { 2, }; -static const long _vq_lengthlist__44p6_l1_0[] = { +static const char _vq_lengthlist__44p6_l1_0[] = { 1, 3, 2, 5, 5, 6, 6, 6, 6, }; static const static_codebook _44p6_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44p6_l1_0, + (char *)_vq_lengthlist__44p6_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p6_l1_0, 0 }; -static const long _huff_lengthlist__44p6_lfe[] = { +static const char _huff_lengthlist__44p6_lfe[] = { 2, 3, 1, 3, }; static const static_codebook _huff_book__44p6_lfe = { 2, 4, - (long *)_huff_lengthlist__44p6_lfe, + (char *)_huff_lengthlist__44p6_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p6_long[] = { +static const char _huff_lengthlist__44p6_long[] = { 2, 7,13,15,16,17,19,20, 6, 3, 4, 7, 9,10,12,15, 13, 4, 3, 4, 7, 8,11,13,14, 7, 4, 4, 6, 7,10,11, 16, 9, 7, 6, 7, 8, 9,10,16, 9, 8, 7, 7, 6, 8, 8, @@ -6392,7 +6409,7 @@ static const long _huff_lengthlist__44p6_long[] = { static const static_codebook _huff_book__44p6_long = { 2, 64, - (long *)_huff_lengthlist__44p6_long, + (char *)_huff_lengthlist__44p6_long, 0, 0, 0, 0, 0, NULL, 0 @@ -6404,7 +6421,7 @@ static const long _vq_quantlist__44p6_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p6_p1_0[] = { +static const char _vq_lengthlist__44p6_p1_0[] = { 2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9, 10, 8, 9, 9, 8, 9,10, 9,10,12,10,11,11, 8, 9,10, @@ -6425,7 +6442,7 @@ static const long _vq_lengthlist__44p6_p1_0[] = { static const static_codebook _44p6_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p6_p1_0, + (char *)_vq_lengthlist__44p6_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p6_p1_0, 0 @@ -6439,7 +6456,7 @@ static const long _vq_quantlist__44p6_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p6_p2_0[] = { +static const char _vq_lengthlist__44p6_p2_0[] = { 4, 6, 6, 9, 9, 6, 7, 8,10,10, 6, 8, 7,10,10, 8, 10,10,12,13, 8,10,10,13,12, 6, 8, 8,10,10, 7, 8, 9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11, @@ -6640,7 +6657,7 @@ static const long _vq_lengthlist__44p6_p2_0[] = { static const static_codebook _44p6_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p6_p2_0, + (char *)_vq_lengthlist__44p6_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p6_p2_0, 0 @@ -6652,7 +6669,7 @@ static const long _vq_quantlist__44p6_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p6_p3_0[] = { +static const char _vq_lengthlist__44p6_p3_0[] = { 1, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 8, 8, 8,10, 8, 10,10, 5, 8, 7, 8,10,10, 8,10, 8, 6, 8, 9, 8,10, 12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11, @@ -6673,7 +6690,7 @@ static const long _vq_lengthlist__44p6_p3_0[] = { static const static_codebook _44p6_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p6_p3_0, + (char *)_vq_lengthlist__44p6_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p6_p3_0, 0 @@ -6685,7 +6702,7 @@ static const long _vq_quantlist__44p6_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p6_p3_1[] = { +static const char _vq_lengthlist__44p6_p3_1[] = { 5, 7, 7, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 8, 8, 7, 8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 8, 7, 7, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8, @@ -6706,7 +6723,7 @@ static const long _vq_lengthlist__44p6_p3_1[] = { static const static_codebook _44p6_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p6_p3_1, + (char *)_vq_lengthlist__44p6_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p6_p3_1, 0 @@ -6718,7 +6735,7 @@ static const long _vq_quantlist__44p6_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p6_p4_0[] = { +static const char _vq_lengthlist__44p6_p4_0[] = { 2, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 7, 7, 7, 9, 7, 9, 9, 5, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9, 10, 8, 9, 9, 8, 9,10, 9, 9,11,10,11,11, 8, 9, 9, @@ -6739,7 +6756,7 @@ static const long _vq_lengthlist__44p6_p4_0[] = { static const static_codebook _44p6_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p6_p4_0, + (char *)_vq_lengthlist__44p6_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p6_p4_0, 0 @@ -6753,7 +6770,7 @@ static const long _vq_quantlist__44p6_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p6_p4_1[] = { +static const char _vq_lengthlist__44p6_p4_1[] = { 6, 8, 8,10,10, 8, 9, 9,10,11, 8,10, 9,11,10, 9, 10,10,11,11, 9,10,10,11,11, 8, 9, 9,10,10, 9, 9, 10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11, @@ -6954,7 +6971,7 @@ static const long _vq_lengthlist__44p6_p4_1[] = { static const static_codebook _44p6_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p6_p4_1, + (char *)_vq_lengthlist__44p6_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p6_p4_1, 0 @@ -6968,7 +6985,7 @@ static const long _vq_quantlist__44p6_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p6_p5_0[] = { +static const char _vq_lengthlist__44p6_p5_0[] = { 2, 6, 6,10,10, 5, 7, 8,11,12, 5, 8, 7,12,11, 9, 11,11,13,15, 9,11,11,15,13, 6, 7, 8,11,11, 7, 7, 9,11,13, 8, 9, 9,13,12,11,11,12,12,15,11,12,12, @@ -7169,7 +7186,7 @@ static const long _vq_lengthlist__44p6_p5_0[] = { static const static_codebook _44p6_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p6_p5_0, + (char *)_vq_lengthlist__44p6_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p6_p5_0, 0 @@ -7185,13 +7202,13 @@ static const long _vq_quantlist__44p6_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p6_p5_1[] = { +static const char _vq_lengthlist__44p6_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p6_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p6_p5_1, + (char *)_vq_lengthlist__44p6_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p6_p5_1, 0 @@ -7203,7 +7220,7 @@ static const long _vq_quantlist__44p6_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p6_p6_0[] = { +static const char _vq_lengthlist__44p6_p6_0[] = { 1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9, 10,10, 5, 8, 7, 9,10,10, 7,10, 7, 6, 9, 9, 9,10, 12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11, @@ -7224,7 +7241,7 @@ static const long _vq_lengthlist__44p6_p6_0[] = { static const static_codebook _44p6_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p6_p6_0, + (char *)_vq_lengthlist__44p6_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p6_p6_0, 0 @@ -7236,7 +7253,7 @@ static const long _vq_quantlist__44p6_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p6_p6_1[] = { +static const char _vq_lengthlist__44p6_p6_1[] = { 2, 6, 6, 6, 7, 8, 6, 8, 7, 6, 7, 7, 7, 7, 8, 7, 8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 8, 9, 9, 8, 9, 9, 8, 9, 9, 9, 9,10, 9,10,10, 8, 9, 9, @@ -7257,7 +7274,7 @@ static const long _vq_lengthlist__44p6_p6_1[] = { static const static_codebook _44p6_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p6_p6_1, + (char *)_vq_lengthlist__44p6_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p6_p6_1, 0 @@ -7269,7 +7286,7 @@ static const long _vq_quantlist__44p6_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p6_p7_0[] = { +static const char _vq_lengthlist__44p6_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -7290,7 +7307,7 @@ static const long _vq_lengthlist__44p6_p7_0[] = { static const static_codebook _44p6_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p6_p7_0, + (char *)_vq_lengthlist__44p6_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p6_p7_0, 0 @@ -7302,7 +7319,7 @@ static const long _vq_quantlist__44p6_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p6_p7_1[] = { +static const char _vq_lengthlist__44p6_p7_1[] = { 1, 4, 5, 5,10,10, 5,10,10, 5,10,10,10,10,10,10, 10,10, 5,10,10,10,10,10,10,10,10, 7,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -7323,7 +7340,7 @@ static const long _vq_lengthlist__44p6_p7_1[] = { static const static_codebook _44p6_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p6_p7_1, + (char *)_vq_lengthlist__44p6_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p6_p7_1, 0 @@ -7357,14 +7374,14 @@ static const long _vq_quantlist__44p6_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p6_p7_2[] = { +static const char _vq_lengthlist__44p6_p7_2[] = { 1, 2, 3, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p6_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p6_p7_2, + (char *)_vq_lengthlist__44p6_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p6_p7_2, 0 @@ -7398,20 +7415,20 @@ static const long _vq_quantlist__44p6_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p6_p7_3[] = { +static const char _vq_lengthlist__44p6_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p6_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p6_p7_3, + (char *)_vq_lengthlist__44p6_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p6_p7_3, 0 }; -static const long _huff_lengthlist__44p6_short[] = { +static const char _huff_lengthlist__44p6_short[] = { 2, 8,13,15,16,18,21,22, 5, 4, 6, 8,10,12,17,21, 9, 5, 5, 6, 8,11,15,19,11, 6, 5, 5, 6, 7,12,14, 14, 8, 7, 5, 4, 4, 9,11,16,11, 9, 7, 4, 3, 7,10, @@ -7420,7 +7437,7 @@ static const long _huff_lengthlist__44p6_short[] = { static const static_codebook _huff_book__44p6_short = { 2, 64, - (long *)_huff_lengthlist__44p6_short, + (char *)_huff_lengthlist__44p6_short, 0, 0, 0, 0, 0, NULL, 0 @@ -7442,7 +7459,7 @@ static const long _vq_quantlist__44p7_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p7_l0_0[] = { +static const char _vq_lengthlist__44p7_l0_0[] = { 2, 4, 4, 7, 7, 8, 8,10,10,11,11,12,12, 4, 5, 5, 7, 7, 9, 9,11, 9,12,11,12,12, 4, 5, 5, 7, 7, 9, 9, 9,10,10,11,12,12, 7, 7, 7, 7, 8, 9, 8,11, 5, @@ -7458,7 +7475,7 @@ static const long _vq_lengthlist__44p7_l0_0[] = { static const static_codebook _44p7_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p7_l0_0, + (char *)_vq_lengthlist__44p7_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p7_l0_0, 0 @@ -7472,14 +7489,14 @@ static const long _vq_quantlist__44p7_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p7_l0_1[] = { +static const char _vq_lengthlist__44p7_l0_1[] = { 4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p7_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p7_l0_1, + (char *)_vq_lengthlist__44p7_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p7_l0_1, 0 @@ -7493,32 +7510,32 @@ static const long _vq_quantlist__44p7_l1_0[] = { 108, }; -static const long _vq_lengthlist__44p7_l1_0[] = { +static const char _vq_lengthlist__44p7_l1_0[] = { 1, 2, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, }; static const static_codebook _44p7_l1_0 = { 2, 25, - (long *)_vq_lengthlist__44p7_l1_0, + (char *)_vq_lengthlist__44p7_l1_0, 1, -514516992, 1620639744, 7, 0, (long *)_vq_quantlist__44p7_l1_0, 0 }; -static const long _huff_lengthlist__44p7_lfe[] = { +static const char _huff_lengthlist__44p7_lfe[] = { 2, 3, 1, 3, }; static const static_codebook _huff_book__44p7_lfe = { 2, 4, - (long *)_huff_lengthlist__44p7_lfe, + (char *)_huff_lengthlist__44p7_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p7_long[] = { +static const char _huff_lengthlist__44p7_long[] = { 2, 7,14,16,17,17,18,20, 6, 3, 5, 8,10,11,13,15, 13, 5, 3, 5, 8, 9,11,12,15, 7, 4, 3, 5, 7, 9,11, 16,10, 7, 5, 6, 7, 9,10,17,11, 8, 7, 7, 6, 8, 8, @@ -7527,7 +7544,7 @@ static const long _huff_lengthlist__44p7_long[] = { static const static_codebook _huff_book__44p7_long = { 2, 64, - (long *)_huff_lengthlist__44p7_long, + (char *)_huff_lengthlist__44p7_long, 0, 0, 0, 0, 0, NULL, 0 @@ -7539,7 +7556,7 @@ static const long _vq_quantlist__44p7_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p7_p1_0[] = { +static const char _vq_lengthlist__44p7_p1_0[] = { 2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9, 10, 8, 9,10, 8, 9,10,10,10,12,10,11,11, 8,10,10, @@ -7560,7 +7577,7 @@ static const long _vq_lengthlist__44p7_p1_0[] = { static const static_codebook _44p7_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p7_p1_0, + (char *)_vq_lengthlist__44p7_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p7_p1_0, 0 @@ -7574,7 +7591,7 @@ static const long _vq_quantlist__44p7_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p7_p2_0[] = { +static const char _vq_lengthlist__44p7_p2_0[] = { 4, 6, 6, 9, 9, 6, 8, 8,10,10, 6, 8, 8,10,10, 8, 10,10,12,13, 8,10,10,13,12, 6, 8, 8,10,10, 8, 8, 9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11, @@ -7775,7 +7792,7 @@ static const long _vq_lengthlist__44p7_p2_0[] = { static const static_codebook _44p7_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p7_p2_0, + (char *)_vq_lengthlist__44p7_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p7_p2_0, 0 @@ -7787,7 +7804,7 @@ static const long _vq_quantlist__44p7_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p7_p3_0[] = { +static const char _vq_lengthlist__44p7_p3_0[] = { 2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 8, 7, 8,10, 8, 9, 9, 5, 7, 7, 8, 9, 9, 7,10, 8, 5, 7, 8, 8, 9, 10, 8,10,10, 8, 9,10,10,10,12,10,12,12, 8,10,10, @@ -7808,7 +7825,7 @@ static const long _vq_lengthlist__44p7_p3_0[] = { static const static_codebook _44p7_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p7_p3_0, + (char *)_vq_lengthlist__44p7_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p7_p3_0, 0 @@ -7820,7 +7837,7 @@ static const long _vq_quantlist__44p7_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p7_p3_1[] = { +static const char _vq_lengthlist__44p7_p3_1[] = { 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 8, 7, 8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8, @@ -7841,7 +7858,7 @@ static const long _vq_lengthlist__44p7_p3_1[] = { static const static_codebook _44p7_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p7_p3_1, + (char *)_vq_lengthlist__44p7_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p7_p3_1, 0 @@ -7853,7 +7870,7 @@ static const long _vq_quantlist__44p7_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p7_p4_0[] = { +static const char _vq_lengthlist__44p7_p4_0[] = { 1, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 8, 7, 8,10, 8, 10,10, 5, 8, 7, 8,10,10, 7,10, 8, 6, 8, 9, 9,10, 12, 9,11,11, 9,10,11,11,11,13,11,13,13, 9,11,11, @@ -7874,7 +7891,7 @@ static const long _vq_lengthlist__44p7_p4_0[] = { static const static_codebook _44p7_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p7_p4_0, + (char *)_vq_lengthlist__44p7_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p7_p4_0, 0 @@ -7888,7 +7905,7 @@ static const long _vq_quantlist__44p7_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p7_p4_1[] = { +static const char _vq_lengthlist__44p7_p4_1[] = { 7, 8, 8,10,10, 8, 9, 9,10,11, 8, 9, 9,10,10, 9, 10,10,11,11, 9,10,10,11,11, 8, 9, 9,10,10, 9, 9, 10,11,11, 9,10,10,11,11,10,10,11,11,11,10,11,11, @@ -8089,7 +8106,7 @@ static const long _vq_lengthlist__44p7_p4_1[] = { static const static_codebook _44p7_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p7_p4_1, + (char *)_vq_lengthlist__44p7_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p7_p4_1, 0 @@ -8103,7 +8120,7 @@ static const long _vq_quantlist__44p7_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p7_p5_0[] = { +static const char _vq_lengthlist__44p7_p5_0[] = { 2, 6, 6, 9, 9, 5, 7, 8,10,11, 5, 8, 7,11,10, 8, 10,11,12,13, 8,11,10,13,12, 6, 7, 8,10,11, 7, 8, 10,10,12, 8, 9, 9,12,11,10,10,12,11,14,10,11,12, @@ -8304,7 +8321,7 @@ static const long _vq_lengthlist__44p7_p5_0[] = { static const static_codebook _44p7_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p7_p5_0, + (char *)_vq_lengthlist__44p7_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p7_p5_0, 0 @@ -8320,13 +8337,13 @@ static const long _vq_quantlist__44p7_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p7_p5_1[] = { +static const char _vq_lengthlist__44p7_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p7_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p7_p5_1, + (char *)_vq_lengthlist__44p7_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p7_p5_1, 0 @@ -8338,7 +8355,7 @@ static const long _vq_quantlist__44p7_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p7_p6_0[] = { +static const char _vq_lengthlist__44p7_p6_0[] = { 2, 5, 6, 5, 7, 8, 5, 8, 7, 5, 7, 7, 7, 7, 9, 8, 9, 9, 5, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9, 10, 8, 9, 9, 8, 9,10, 9, 9,11,10,10,11, 8,10, 9, @@ -8359,7 +8376,7 @@ static const long _vq_lengthlist__44p7_p6_0[] = { static const static_codebook _44p7_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p7_p6_0, + (char *)_vq_lengthlist__44p7_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p7_p6_0, 0 @@ -8371,7 +8388,7 @@ static const long _vq_quantlist__44p7_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p7_p6_1[] = { +static const char _vq_lengthlist__44p7_p6_1[] = { 4, 7, 7, 6, 7, 8, 6, 8, 7, 7, 7, 8, 7, 7, 8, 8, 8, 8, 7, 7, 7, 8, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8, @@ -8392,7 +8409,7 @@ static const long _vq_lengthlist__44p7_p6_1[] = { static const static_codebook _44p7_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p7_p6_1, + (char *)_vq_lengthlist__44p7_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p7_p6_1, 0 @@ -8404,7 +8421,7 @@ static const long _vq_quantlist__44p7_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p7_p7_0[] = { +static const char _vq_lengthlist__44p7_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -8425,7 +8442,7 @@ static const long _vq_lengthlist__44p7_p7_0[] = { static const static_codebook _44p7_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p7_p7_0, + (char *)_vq_lengthlist__44p7_p7_0, 1, -513979392, 1633504256, 2, 0, (long *)_vq_quantlist__44p7_p7_0, 0 @@ -8437,7 +8454,7 @@ static const long _vq_quantlist__44p7_p7_1[] = { 2, }; -static const long _vq_lengthlist__44p7_p7_1[] = { +static const char _vq_lengthlist__44p7_p7_1[] = { 1, 5, 5, 4,10,10, 5,10,10, 5,10,10,10,10,10,10, 10,10, 5,10,10,10,10,10, 9,10,10, 6,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -8458,7 +8475,7 @@ static const long _vq_lengthlist__44p7_p7_1[] = { static const static_codebook _44p7_p7_1 = { 5, 243, - (long *)_vq_lengthlist__44p7_p7_1, + (char *)_vq_lengthlist__44p7_p7_1, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44p7_p7_1, 0 @@ -8492,14 +8509,14 @@ static const long _vq_quantlist__44p7_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p7_p7_2[] = { +static const char _vq_lengthlist__44p7_p7_2[] = { 1, 3, 2, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p7_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p7_p7_2, + (char *)_vq_lengthlist__44p7_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p7_p7_2, 0 @@ -8533,20 +8550,20 @@ static const long _vq_quantlist__44p7_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p7_p7_3[] = { +static const char _vq_lengthlist__44p7_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p7_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p7_p7_3, + (char *)_vq_lengthlist__44p7_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p7_p7_3, 0 }; -static const long _huff_lengthlist__44p7_short[] = { +static const char _huff_lengthlist__44p7_short[] = { 3, 9,14,16,17,19,22,22, 5, 4, 6, 9,11,13,17,20, 9, 5, 5, 6, 9,11,15,19,11, 7, 5, 5, 7, 9,13,17, 14, 9, 7, 6, 6, 7,11,14,16,11, 9, 7, 6, 4, 4, 8, @@ -8555,7 +8572,7 @@ static const long _huff_lengthlist__44p7_short[] = { static const static_codebook _huff_book__44p7_short = { 2, 64, - (long *)_huff_lengthlist__44p7_short, + (char *)_huff_lengthlist__44p7_short, 0, 0, 0, 0, 0, NULL, 0 @@ -8577,7 +8594,7 @@ static const long _vq_quantlist__44p8_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p8_l0_0[] = { +static const char _vq_lengthlist__44p8_l0_0[] = { 2, 4, 4, 7, 7, 8, 8,10,10,11,11,12,12, 4, 5, 5, 7, 7, 9, 9,10, 9,12,10,12,12, 4, 5, 5, 7, 7, 9, 9, 9,10,10,12,12,12, 7, 7, 7, 7, 8, 9, 8,11, 5, @@ -8593,7 +8610,7 @@ static const long _vq_lengthlist__44p8_l0_0[] = { static const static_codebook _44p8_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p8_l0_0, + (char *)_vq_lengthlist__44p8_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p8_l0_0, 0 @@ -8607,14 +8624,14 @@ static const long _vq_quantlist__44p8_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p8_l0_1[] = { +static const char _vq_lengthlist__44p8_l0_1[] = { 4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p8_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p8_l0_1, + (char *)_vq_lengthlist__44p8_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p8_l0_1, 0 @@ -8628,32 +8645,32 @@ static const long _vq_quantlist__44p8_l1_0[] = { 108, }; -static const long _vq_lengthlist__44p8_l1_0[] = { +static const char _vq_lengthlist__44p8_l1_0[] = { 1, 2, 3, 6, 7, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, }; static const static_codebook _44p8_l1_0 = { 2, 25, - (long *)_vq_lengthlist__44p8_l1_0, + (char *)_vq_lengthlist__44p8_l1_0, 1, -514516992, 1620639744, 7, 0, (long *)_vq_quantlist__44p8_l1_0, 0 }; -static const long _huff_lengthlist__44p8_lfe[] = { +static const char _huff_lengthlist__44p8_lfe[] = { 2, 3, 1, 3, }; static const static_codebook _huff_book__44p8_lfe = { 2, 4, - (long *)_huff_lengthlist__44p8_lfe, + (char *)_huff_lengthlist__44p8_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p8_long[] = { +static const char _huff_lengthlist__44p8_long[] = { 2, 7,14,16,17,18,20,21, 7, 4, 6, 8,11,12,14,16, 13, 5, 4, 4, 8, 9,11,13,15, 8, 4, 3, 5, 7, 9,10, 17,11, 8, 4, 4, 6, 9, 9,17,11, 9, 7, 6, 5, 7, 8, @@ -8662,7 +8679,7 @@ static const long _huff_lengthlist__44p8_long[] = { static const static_codebook _huff_book__44p8_long = { 2, 64, - (long *)_huff_lengthlist__44p8_long, + (char *)_huff_lengthlist__44p8_long, 0, 0, 0, 0, 0, NULL, 0 @@ -8674,7 +8691,7 @@ static const long _vq_quantlist__44p8_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p8_p1_0[] = { +static const char _vq_lengthlist__44p8_p1_0[] = { 2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9, 10, 8, 9,10, 8, 9,10,10,10,12,10,11,12, 8,10,10, @@ -8695,7 +8712,7 @@ static const long _vq_lengthlist__44p8_p1_0[] = { static const static_codebook _44p8_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p8_p1_0, + (char *)_vq_lengthlist__44p8_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p8_p1_0, 0 @@ -8709,7 +8726,7 @@ static const long _vq_quantlist__44p8_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p8_p2_0[] = { +static const char _vq_lengthlist__44p8_p2_0[] = { 4, 6, 6, 9, 9, 6, 8, 8,10,10, 6, 8, 8,10,10, 8, 9,10,12,12, 8,10, 9,12,12, 6, 8, 8,10,10, 8, 8, 9,10,11, 8, 9, 9,11,11, 9,10,11,12,13,10,11,11, @@ -8910,7 +8927,7 @@ static const long _vq_lengthlist__44p8_p2_0[] = { static const static_codebook _44p8_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p8_p2_0, + (char *)_vq_lengthlist__44p8_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p8_p2_0, 0 @@ -8922,7 +8939,7 @@ static const long _vq_quantlist__44p8_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p8_p3_0[] = { +static const char _vq_lengthlist__44p8_p3_0[] = { 2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 7, 9, 10, 8, 9, 9, 8, 9,10, 9,10,12,10,11,11, 8,10, 9, @@ -8943,7 +8960,7 @@ static const long _vq_lengthlist__44p8_p3_0[] = { static const static_codebook _44p8_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p8_p3_0, + (char *)_vq_lengthlist__44p8_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p8_p3_0, 0 @@ -8955,7 +8972,7 @@ static const long _vq_quantlist__44p8_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p8_p3_1[] = { +static const char _vq_lengthlist__44p8_p3_1[] = { 6, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -8976,7 +8993,7 @@ static const long _vq_lengthlist__44p8_p3_1[] = { static const static_codebook _44p8_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p8_p3_1, + (char *)_vq_lengthlist__44p8_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p8_p3_1, 0 @@ -8988,7 +9005,7 @@ static const long _vq_quantlist__44p8_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p8_p4_0[] = { +static const char _vq_lengthlist__44p8_p4_0[] = { 2, 5, 5, 4, 7, 8, 4, 8, 7, 5, 7, 8, 7, 7,10, 8, 9, 9, 5, 7, 7, 8, 9, 9, 7,10, 7, 5, 7, 8, 8, 9, 11, 8,10,10, 8, 9,10,10,10,12,11,12,12, 8,10,10, @@ -9009,7 +9026,7 @@ static const long _vq_lengthlist__44p8_p4_0[] = { static const static_codebook _44p8_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p8_p4_0, + (char *)_vq_lengthlist__44p8_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p8_p4_0, 0 @@ -9023,7 +9040,7 @@ static const long _vq_quantlist__44p8_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p8_p4_1[] = { +static const char _vq_lengthlist__44p8_p4_1[] = { 7, 9, 9,10,10, 9,10,10,10,11, 9,10,10,11,10, 9, 10,10,11,11, 9,10,10,11,11, 9,10,10,11,11,10,10, 10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11, @@ -9224,7 +9241,7 @@ static const long _vq_lengthlist__44p8_p4_1[] = { static const static_codebook _44p8_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p8_p4_1, + (char *)_vq_lengthlist__44p8_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p8_p4_1, 0 @@ -9238,7 +9255,7 @@ static const long _vq_quantlist__44p8_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p8_p5_0[] = { +static const char _vq_lengthlist__44p8_p5_0[] = { 2, 6, 6, 9, 9, 5, 7, 8,10,11, 5, 8, 7,11,10, 8, 10,11,12,13, 8,11,10,13,12, 6, 7, 8,10,11, 7, 8, 10,10,12, 8, 9, 9,12,12,10,10,12,12,14,10,12,12, @@ -9439,7 +9456,7 @@ static const long _vq_lengthlist__44p8_p5_0[] = { static const static_codebook _44p8_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p8_p5_0, + (char *)_vq_lengthlist__44p8_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p8_p5_0, 0 @@ -9455,13 +9472,13 @@ static const long _vq_quantlist__44p8_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p8_p5_1[] = { +static const char _vq_lengthlist__44p8_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p8_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p8_p5_1, + (char *)_vq_lengthlist__44p8_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p8_p5_1, 0 @@ -9473,7 +9490,7 @@ static const long _vq_quantlist__44p8_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p8_p6_0[] = { +static const char _vq_lengthlist__44p8_p6_0[] = { 2, 6, 6, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 7, 9, 7, 9, 9, 6, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9, 10, 8, 9, 9, 8, 9,10, 9, 9,10,10,10,10, 8, 9, 9, @@ -9494,7 +9511,7 @@ static const long _vq_lengthlist__44p8_p6_0[] = { static const static_codebook _44p8_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p8_p6_0, + (char *)_vq_lengthlist__44p8_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p8_p6_0, 0 @@ -9506,7 +9523,7 @@ static const long _vq_quantlist__44p8_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p8_p6_1[] = { +static const char _vq_lengthlist__44p8_p6_1[] = { 4, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 7, 8, 7, 8, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8, @@ -9527,7 +9544,7 @@ static const long _vq_lengthlist__44p8_p6_1[] = { static const static_codebook _44p8_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p8_p6_1, + (char *)_vq_lengthlist__44p8_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p8_p6_1, 0 @@ -9539,7 +9556,7 @@ static const long _vq_quantlist__44p8_p7_0[] = { 2, }; -static const long _vq_lengthlist__44p8_p7_0[] = { +static const char _vq_lengthlist__44p8_p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -9560,7 +9577,7 @@ static const long _vq_lengthlist__44p8_p7_0[] = { static const static_codebook _44p8_p7_0 = { 5, 243, - (long *)_vq_lengthlist__44p8_p7_0, + (char *)_vq_lengthlist__44p8_p7_0, 1, -512202240, 1635281408, 2, 0, (long *)_vq_quantlist__44p8_p7_0, 0 @@ -9574,7 +9591,7 @@ static const long _vq_quantlist__44p8_p7_1[] = { 4, }; -static const long _vq_lengthlist__44p8_p7_1[] = { +static const char _vq_lengthlist__44p8_p7_1[] = { 1, 7, 7,12,12, 5,11,12,12,12, 5,12,11,12,12,12, 12,12,12,12,12,13,13,13,13, 7,11,11,13,13,13,12, 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, @@ -9775,7 +9792,7 @@ static const long _vq_lengthlist__44p8_p7_1[] = { static const static_codebook _44p8_p7_1 = { 5, 3125, - (long *)_vq_lengthlist__44p8_p7_1, + (char *)_vq_lengthlist__44p8_p7_1, 1, -514619392, 1630767104, 3, 0, (long *)_vq_quantlist__44p8_p7_1, 0 @@ -9809,14 +9826,14 @@ static const long _vq_quantlist__44p8_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p8_p7_2[] = { +static const char _vq_lengthlist__44p8_p7_2[] = { 1, 3, 2, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44p8_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p8_p7_2, + (char *)_vq_lengthlist__44p8_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p8_p7_2, 0 @@ -9850,20 +9867,20 @@ static const long _vq_quantlist__44p8_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p8_p7_3[] = { +static const char _vq_lengthlist__44p8_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p8_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p8_p7_3, + (char *)_vq_lengthlist__44p8_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p8_p7_3, 0 }; -static const long _huff_lengthlist__44p8_short[] = { +static const char _huff_lengthlist__44p8_short[] = { 3, 9,15,17,20,21,22,23, 5, 5, 7, 9,11,13,17,20, 9, 5, 5, 6, 8,10,15,18,11, 7, 5, 4, 6, 9,13,17, 14, 9, 7, 5, 6, 7,10,14,17,10, 8, 6, 6, 4, 5, 8, @@ -9872,7 +9889,7 @@ static const long _huff_lengthlist__44p8_short[] = { static const static_codebook _huff_book__44p8_short = { 2, 64, - (long *)_huff_lengthlist__44p8_short, + (char *)_huff_lengthlist__44p8_short, 0, 0, 0, 0, 0, NULL, 0 @@ -9894,7 +9911,7 @@ static const long _vq_quantlist__44p9_l0_0[] = { 12, }; -static const long _vq_lengthlist__44p9_l0_0[] = { +static const char _vq_lengthlist__44p9_l0_0[] = { 2, 5, 5, 7, 6, 8, 8, 9, 9,10,10,11,11, 4, 5, 5, 6, 7, 8, 8, 9, 9,10,10,11,10, 4, 5, 5, 7, 6, 8, 8, 9, 9,10,10,10,10, 6, 6, 7, 6, 7, 8, 8, 9, 9, @@ -9910,7 +9927,7 @@ static const long _vq_lengthlist__44p9_l0_0[] = { static const static_codebook _44p9_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44p9_l0_0, + (char *)_vq_lengthlist__44p9_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44p9_l0_0, 0 @@ -9924,14 +9941,14 @@ static const long _vq_quantlist__44p9_l0_1[] = { 4, }; -static const long _vq_lengthlist__44p9_l0_1[] = { +static const char _vq_lengthlist__44p9_l0_1[] = { 4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p9_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44p9_l0_1, + (char *)_vq_lengthlist__44p9_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p9_l0_1, 0 @@ -9945,38 +9962,38 @@ static const long _vq_quantlist__44p9_l1_0[] = { 4, }; -static const long _vq_lengthlist__44p9_l1_0[] = { +static const char _vq_lengthlist__44p9_l1_0[] = { 1, 2, 3, 5, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,10,10,10,10, }; static const static_codebook _44p9_l1_0 = { 2, 25, - (long *)_vq_lengthlist__44p9_l1_0, + (char *)_vq_lengthlist__44p9_l1_0, 1, -514619392, 1630767104, 3, 0, (long *)_vq_quantlist__44p9_l1_0, 0 }; -static const long _huff_lengthlist__44p9_lfe[] = { +static const char _huff_lengthlist__44p9_lfe[] = { 1, 1, }; static const static_codebook _huff_book__44p9_lfe = { 1, 2, - (long *)_huff_lengthlist__44p9_lfe, + (char *)_huff_lengthlist__44p9_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44p9_long[] = { +static const char _huff_lengthlist__44p9_long[] = { 3, 3, 3, 3, 3, 3, 3, 3, }; static const static_codebook _huff_book__44p9_long = { 1, 8, - (long *)_huff_lengthlist__44p9_long, + (char *)_huff_lengthlist__44p9_long, 0, 0, 0, 0, 0, NULL, 0 @@ -9988,7 +10005,7 @@ static const long _vq_quantlist__44p9_p1_0[] = { 2, }; -static const long _vq_lengthlist__44p9_p1_0[] = { +static const char _vq_lengthlist__44p9_p1_0[] = { 1, 5, 5, 4, 8, 8, 4, 8, 8, 5, 7, 8, 8, 9,10, 8, 10,10, 5, 8, 7, 8,10,10, 8,10, 9, 7, 9, 9, 9,11, 11, 9,11,11, 9,11,11,11,12,13,11,13,13, 9,11,11, @@ -10009,7 +10026,7 @@ static const long _vq_lengthlist__44p9_p1_0[] = { static const static_codebook _44p9_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44p9_p1_0, + (char *)_vq_lengthlist__44p9_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p9_p1_0, 0 @@ -10023,7 +10040,7 @@ static const long _vq_quantlist__44p9_p2_0[] = { 4, }; -static const long _vq_lengthlist__44p9_p2_0[] = { +static const char _vq_lengthlist__44p9_p2_0[] = { 4, 6, 6, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 6, 8, 8,11,11, 6, 8, 8,11,11, 6, 7, 7, 9, 9, 7, 8, 9,10,11, 7, 9, 9,11,10, 8, 9,10,12,12, 8,10,10, @@ -10224,7 +10241,7 @@ static const long _vq_lengthlist__44p9_p2_0[] = { static const static_codebook _44p9_p2_0 = { 5, 3125, - (long *)_vq_lengthlist__44p9_p2_0, + (char *)_vq_lengthlist__44p9_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p9_p2_0, 0 @@ -10236,7 +10253,7 @@ static const long _vq_quantlist__44p9_p3_0[] = { 2, }; -static const long _vq_lengthlist__44p9_p3_0[] = { +static const char _vq_lengthlist__44p9_p3_0[] = { 2, 5, 4, 4, 7, 7, 4, 7, 6, 5, 6, 7, 7, 8, 9, 7, 9, 9, 5, 7, 6, 7, 9, 9, 7, 9, 8, 6, 8, 8, 8,10, 10, 8,10,10, 8, 9,10,10,11,12,10,12,12, 8,10,10, @@ -10257,7 +10274,7 @@ static const long _vq_lengthlist__44p9_p3_0[] = { static const static_codebook _44p9_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44p9_p3_0, + (char *)_vq_lengthlist__44p9_p3_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44p9_p3_0, 0 @@ -10269,7 +10286,7 @@ static const long _vq_quantlist__44p9_p3_1[] = { 2, }; -static const long _vq_lengthlist__44p9_p3_1[] = { +static const char _vq_lengthlist__44p9_p3_1[] = { 4, 6, 6, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 7, 8, 7, 7, 8, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 8, 9, 9, 8, 8, 8, @@ -10290,7 +10307,7 @@ static const long _vq_lengthlist__44p9_p3_1[] = { static const static_codebook _44p9_p3_1 = { 5, 243, - (long *)_vq_lengthlist__44p9_p3_1, + (char *)_vq_lengthlist__44p9_p3_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44p9_p3_1, 0 @@ -10302,7 +10319,7 @@ static const long _vq_quantlist__44p9_p4_0[] = { 2, }; -static const long _vq_lengthlist__44p9_p4_0[] = { +static const char _vq_lengthlist__44p9_p4_0[] = { 2, 5, 5, 4, 7, 7, 4, 7, 6, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9, 10, 8,10,10, 8, 9,10,10,11,12,10,11,12, 8,10,10, @@ -10323,7 +10340,7 @@ static const long _vq_lengthlist__44p9_p4_0[] = { static const static_codebook _44p9_p4_0 = { 5, 243, - (long *)_vq_lengthlist__44p9_p4_0, + (char *)_vq_lengthlist__44p9_p4_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44p9_p4_0, 0 @@ -10337,7 +10354,7 @@ static const long _vq_quantlist__44p9_p4_1[] = { 4, }; -static const long _vq_lengthlist__44p9_p4_1[] = { +static const char _vq_lengthlist__44p9_p4_1[] = { 6, 8, 8,10, 9, 8, 9, 9,10,10, 8, 9, 9,10,10, 8, 10,10,10,10, 8,10,10,10,10, 9, 9, 9,10,10, 9,10, 10,10,11, 9,10,10,11,11,10,10,10,11,11,10,10,10, @@ -10538,7 +10555,7 @@ static const long _vq_lengthlist__44p9_p4_1[] = { static const static_codebook _44p9_p4_1 = { 5, 3125, - (long *)_vq_lengthlist__44p9_p4_1, + (char *)_vq_lengthlist__44p9_p4_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44p9_p4_1, 0 @@ -10552,7 +10569,7 @@ static const long _vq_quantlist__44p9_p5_0[] = { 4, }; -static const long _vq_lengthlist__44p9_p5_0[] = { +static const char _vq_lengthlist__44p9_p5_0[] = { 4, 6, 6, 9, 9, 6, 7, 8,10,11, 6, 8, 7,10,10, 8, 10,10,12,12, 8,10,10,12,12, 6, 7, 8,10,10, 7, 8, 9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11, @@ -10753,7 +10770,7 @@ static const long _vq_lengthlist__44p9_p5_0[] = { static const static_codebook _44p9_p5_0 = { 5, 3125, - (long *)_vq_lengthlist__44p9_p5_0, + (char *)_vq_lengthlist__44p9_p5_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44p9_p5_0, 0 @@ -10769,13 +10786,13 @@ static const long _vq_quantlist__44p9_p5_1[] = { 6, }; -static const long _vq_lengthlist__44p9_p5_1[] = { +static const char _vq_lengthlist__44p9_p5_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44p9_p5_1 = { 1, 7, - (long *)_vq_lengthlist__44p9_p5_1, + (char *)_vq_lengthlist__44p9_p5_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44p9_p5_1, 0 @@ -10787,7 +10804,7 @@ static const long _vq_quantlist__44p9_p6_0[] = { 2, }; -static const long _vq_lengthlist__44p9_p6_0[] = { +static const char _vq_lengthlist__44p9_p6_0[] = { 2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9, 10, 8, 9,10, 8, 9,10,10,10,12,10,11,11, 8,10,10, @@ -10808,7 +10825,7 @@ static const long _vq_lengthlist__44p9_p6_0[] = { static const static_codebook _44p9_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44p9_p6_0, + (char *)_vq_lengthlist__44p9_p6_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44p9_p6_0, 0 @@ -10820,7 +10837,7 @@ static const long _vq_quantlist__44p9_p6_1[] = { 2, }; -static const long _vq_lengthlist__44p9_p6_1[] = { +static const char _vq_lengthlist__44p9_p6_1[] = { 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 8, 7, 8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8, @@ -10841,7 +10858,7 @@ static const long _vq_lengthlist__44p9_p6_1[] = { static const static_codebook _44p9_p6_1 = { 5, 243, - (long *)_vq_lengthlist__44p9_p6_1, + (char *)_vq_lengthlist__44p9_p6_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44p9_p6_1, 0 @@ -10855,7 +10872,7 @@ static const long _vq_quantlist__44p9_p7_0[] = { 4, }; -static const long _vq_lengthlist__44p9_p7_0[] = { +static const char _vq_lengthlist__44p9_p7_0[] = { 1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, @@ -11056,7 +11073,7 @@ static const long _vq_lengthlist__44p9_p7_0[] = { static const static_codebook _44p9_p7_0 = { 5, 3125, - (long *)_vq_lengthlist__44p9_p7_0, + (char *)_vq_lengthlist__44p9_p7_0, 1, -510105088, 1635281408, 3, 0, (long *)_vq_quantlist__44p9_p7_0, 0 @@ -11070,7 +11087,7 @@ static const long _vq_quantlist__44p9_p7_1[] = { 4, }; -static const long _vq_lengthlist__44p9_p7_1[] = { +static const char _vq_lengthlist__44p9_p7_1[] = { 1, 4, 4,16,16, 4, 9,11,15,16, 4,12, 8,16,16,12, 16,16,16,16,13,16,16,16,16, 5, 8,10,16,16, 9, 9, 14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16, @@ -11271,7 +11288,7 @@ static const long _vq_lengthlist__44p9_p7_1[] = { static const static_codebook _44p9_p7_1 = { 5, 3125, - (long *)_vq_lengthlist__44p9_p7_1, + (char *)_vq_lengthlist__44p9_p7_1, 1, -514619392, 1630767104, 3, 0, (long *)_vq_quantlist__44p9_p7_1, 0 @@ -11305,14 +11322,14 @@ static const long _vq_quantlist__44p9_p7_2[] = { 24, }; -static const long _vq_lengthlist__44p9_p7_2[] = { +static const char _vq_lengthlist__44p9_p7_2[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9,10,10,10,11,11,11, 12,12,12,13,13,13,13,13,13, }; static const static_codebook _44p9_p7_2 = { 1, 25, - (long *)_vq_lengthlist__44p9_p7_2, + (char *)_vq_lengthlist__44p9_p7_2, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44p9_p7_2, 0 @@ -11346,26 +11363,26 @@ static const long _vq_quantlist__44p9_p7_3[] = { 24, }; -static const long _vq_lengthlist__44p9_p7_3[] = { +static const char _vq_lengthlist__44p9_p7_3[] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44p9_p7_3 = { 1, 25, - (long *)_vq_lengthlist__44p9_p7_3, + (char *)_vq_lengthlist__44p9_p7_3, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44p9_p7_3, 0 }; -static const long _huff_lengthlist__44p9_short[] = { +static const char _huff_lengthlist__44p9_short[] = { 3, 3, 3, 3, 3, 3, 3, 3, }; static const static_codebook _huff_book__44p9_short = { 1, 8, - (long *)_huff_lengthlist__44p9_short, + (char *)_huff_lengthlist__44p9_short, 0, 0, 0, 0, 0, NULL, 0 @@ -11387,7 +11404,7 @@ static const long _vq_quantlist__44pn1_l0_0[] = { 12, }; -static const long _vq_lengthlist__44pn1_l0_0[] = { +static const char _vq_lengthlist__44pn1_l0_0[] = { 1, 3, 3, 8, 8,10,10,10,10,10,10,10,10, 5, 7, 5, 9, 8,10,10,10,10,11,10,11,10, 5, 5, 7, 8, 9,10, 10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11, @@ -11403,7 +11420,7 @@ static const long _vq_lengthlist__44pn1_l0_0[] = { static const static_codebook _44pn1_l0_0 = { 2, 169, - (long *)_vq_lengthlist__44pn1_l0_0, + (char *)_vq_lengthlist__44pn1_l0_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44pn1_l0_0, 0 @@ -11417,14 +11434,14 @@ static const long _vq_quantlist__44pn1_l0_1[] = { 4, }; -static const long _vq_lengthlist__44pn1_l0_1[] = { +static const char _vq_lengthlist__44pn1_l0_1[] = { 1, 4, 4, 7, 7, 4, 5, 6, 7, 7, 4, 6, 5, 7, 7, 7, 6, 7, 6, 7, 7, 7, 6, 7, 6, }; static const static_codebook _44pn1_l0_1 = { 2, 25, - (long *)_vq_lengthlist__44pn1_l0_1, + (char *)_vq_lengthlist__44pn1_l0_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44pn1_l0_1, 0 @@ -11436,31 +11453,31 @@ static const long _vq_quantlist__44pn1_l1_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_l1_0[] = { +static const char _vq_lengthlist__44pn1_l1_0[] = { 1, 4, 4, 4, 4, 4, 4, 4, 4, }; static const static_codebook _44pn1_l1_0 = { 2, 9, - (long *)_vq_lengthlist__44pn1_l1_0, + (char *)_vq_lengthlist__44pn1_l1_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44pn1_l1_0, 0 }; -static const long _huff_lengthlist__44pn1_lfe[] = { +static const char _huff_lengthlist__44pn1_lfe[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book__44pn1_lfe = { 2, 4, - (long *)_huff_lengthlist__44pn1_lfe, + (char *)_huff_lengthlist__44pn1_lfe, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44pn1_long[] = { +static const char _huff_lengthlist__44pn1_long[] = { 2, 3, 6, 7, 9,13,17, 3, 2, 5, 7, 9,13,17, 6, 5, 5, 6, 9,12,16, 7, 7, 6, 6, 7,10,13,10,10, 9, 7, 6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15, @@ -11469,7 +11486,7 @@ static const long _huff_lengthlist__44pn1_long[] = { static const static_codebook _huff_book__44pn1_long = { 2, 49, - (long *)_huff_lengthlist__44pn1_long, + (char *)_huff_lengthlist__44pn1_long, 0, 0, 0, 0, 0, NULL, 0 @@ -11481,7 +11498,7 @@ static const long _vq_quantlist__44pn1_p1_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_p1_0[] = { +static const char _vq_lengthlist__44pn1_p1_0[] = { 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11502,7 +11519,7 @@ static const long _vq_lengthlist__44pn1_p1_0[] = { static const static_codebook _44pn1_p1_0 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p1_0, + (char *)_vq_lengthlist__44pn1_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44pn1_p1_0, 0 @@ -11514,7 +11531,7 @@ static const long _vq_quantlist__44pn1_p2_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_p2_0[] = { +static const char _vq_lengthlist__44pn1_p2_0[] = { 1, 5, 5, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 9, 9, 0,13,13, 0, 8, 8, 0, 6, 6, 0,11, 11, 0,12,12, 0,12,12, 0,14,14, 0,11,12, 0,12,12, @@ -11535,7 +11552,7 @@ static const long _vq_lengthlist__44pn1_p2_0[] = { static const static_codebook _44pn1_p2_0 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p2_0, + (char *)_vq_lengthlist__44pn1_p2_0, 1, -533200896, 1614282752, 2, 0, (long *)_vq_quantlist__44pn1_p2_0, 0 @@ -11547,7 +11564,7 @@ static const long _vq_quantlist__44pn1_p2_1[] = { 2, }; -static const long _vq_lengthlist__44pn1_p2_1[] = { +static const char _vq_lengthlist__44pn1_p2_1[] = { 1, 3, 3, 0, 9, 9, 0, 9, 9, 0,10,10, 0, 9, 9, 0, 10,10, 0,10,10, 0,10,10, 0,10,10, 0, 7, 7, 0, 7, 7, 0, 6, 6, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 8, @@ -11568,7 +11585,7 @@ static const long _vq_lengthlist__44pn1_p2_1[] = { static const static_codebook _44pn1_p2_1 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p2_1, + (char *)_vq_lengthlist__44pn1_p2_1, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44pn1_p2_1, 0 @@ -11580,7 +11597,7 @@ static const long _vq_quantlist__44pn1_p3_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_p3_0[] = { +static const char _vq_lengthlist__44pn1_p3_0[] = { 1, 6, 6, 6, 8, 8, 6, 8, 8, 7, 9, 9,10,11,11, 8, 8, 8, 7, 9, 9,11,12,12, 9, 9, 9, 6, 7, 7,10,11, 11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11, @@ -11601,7 +11618,7 @@ static const long _vq_lengthlist__44pn1_p3_0[] = { static const static_codebook _44pn1_p3_0 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p3_0, + (char *)_vq_lengthlist__44pn1_p3_0, 1, -531365888, 1616117760, 2, 0, (long *)_vq_quantlist__44pn1_p3_0, 0 @@ -11615,7 +11632,7 @@ static const long _vq_quantlist__44pn1_p3_1[] = { 4, }; -static const long _vq_lengthlist__44pn1_p3_1[] = { +static const char _vq_lengthlist__44pn1_p3_1[] = { 2, 3, 4, 9, 9,10,12,12,12,11,10,12,12,13,12,11, 13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12, 12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13, @@ -11816,7 +11833,7 @@ static const long _vq_lengthlist__44pn1_p3_1[] = { static const static_codebook _44pn1_p3_1 = { 5, 3125, - (long *)_vq_lengthlist__44pn1_p3_1, + (char *)_vq_lengthlist__44pn1_p3_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44pn1_p3_1, 0 @@ -11830,7 +11847,7 @@ static const long _vq_quantlist__44pn1_p4_0[] = { 4, }; -static const long _vq_lengthlist__44pn1_p4_0[] = { +static const char _vq_lengthlist__44pn1_p4_0[] = { 1, 7, 7,14,14, 6, 8, 8,15,16, 7, 8, 8,16,15, 0, 14,14,17,17, 0,14,14,16,16, 7, 9, 9,16,16,10,11, 11,17,18, 9, 8, 8,16,16, 0,14,14,19,19, 0,14,14, @@ -12031,7 +12048,7 @@ static const long _vq_lengthlist__44pn1_p4_0[] = { static const static_codebook _44pn1_p4_0 = { 5, 3125, - (long *)_vq_lengthlist__44pn1_p4_0, + (char *)_vq_lengthlist__44pn1_p4_0, 1, -528744448, 1616642048, 3, 0, (long *)_vq_quantlist__44pn1_p4_0, 0 @@ -12047,13 +12064,13 @@ static const long _vq_quantlist__44pn1_p4_1[] = { 6, }; -static const long _vq_lengthlist__44pn1_p4_1[] = { +static const char _vq_lengthlist__44pn1_p4_1[] = { 2, 3, 3, 3, 3, 3, 3, }; static const static_codebook _44pn1_p4_1 = { 1, 7, - (long *)_vq_lengthlist__44pn1_p4_1, + (char *)_vq_lengthlist__44pn1_p4_1, 1, -533200896, 1611661312, 3, 0, (long *)_vq_quantlist__44pn1_p4_1, 0 @@ -12065,7 +12082,7 @@ static const long _vq_quantlist__44pn1_p5_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_p5_0[] = { +static const char _vq_lengthlist__44pn1_p5_0[] = { 1, 7, 7, 6, 8, 8, 7, 8, 8, 7, 9, 9,11,11,11, 9, 8, 8, 7, 9, 9,11,12,11, 9, 9, 9, 6, 7, 7,10,11, 11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11, @@ -12086,7 +12103,7 @@ static const long _vq_lengthlist__44pn1_p5_0[] = { static const static_codebook _44pn1_p5_0 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p5_0, + (char *)_vq_lengthlist__44pn1_p5_0, 1, -527106048, 1620377600, 2, 0, (long *)_vq_quantlist__44pn1_p5_0, 0 @@ -12098,7 +12115,7 @@ static const long _vq_quantlist__44pn1_p5_1[] = { 2, }; -static const long _vq_lengthlist__44pn1_p5_1[] = { +static const char _vq_lengthlist__44pn1_p5_1[] = { 2, 6, 7, 6, 8, 8, 7, 7, 8, 7, 8, 8, 9, 9, 9, 8, 7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 6, 6, 9, 7, 7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8, @@ -12119,7 +12136,7 @@ static const long _vq_lengthlist__44pn1_p5_1[] = { static const static_codebook _44pn1_p5_1 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p5_1, + (char *)_vq_lengthlist__44pn1_p5_1, 1, -530841600, 1616642048, 2, 0, (long *)_vq_quantlist__44pn1_p5_1, 0 @@ -12131,7 +12148,7 @@ static const long _vq_quantlist__44pn1_p6_0[] = { 2, }; -static const long _vq_lengthlist__44pn1_p6_0[] = { +static const char _vq_lengthlist__44pn1_p6_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -12152,7 +12169,7 @@ static const long _vq_lengthlist__44pn1_p6_0[] = { static const static_codebook _44pn1_p6_0 = { 5, 243, - (long *)_vq_lengthlist__44pn1_p6_0, + (char *)_vq_lengthlist__44pn1_p6_0, 1, -516716544, 1630767104, 2, 0, (long *)_vq_quantlist__44pn1_p6_0, 0 @@ -12186,14 +12203,14 @@ static const long _vq_quantlist__44pn1_p6_1[] = { 24, }; -static const long _vq_lengthlist__44pn1_p6_1[] = { +static const char _vq_lengthlist__44pn1_p6_1[] = { 1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12, 12,13,13,14,14,15,15,15,15, }; static const static_codebook _44pn1_p6_1 = { 1, 25, - (long *)_vq_lengthlist__44pn1_p6_1, + (char *)_vq_lengthlist__44pn1_p6_1, 1, -518864896, 1620639744, 5, 0, (long *)_vq_quantlist__44pn1_p6_1, 0 @@ -12227,20 +12244,20 @@ static const long _vq_quantlist__44pn1_p6_2[] = { 24, }; -static const long _vq_lengthlist__44pn1_p6_2[] = { +static const char _vq_lengthlist__44pn1_p6_2[] = { 3, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44pn1_p6_2 = { 1, 25, - (long *)_vq_lengthlist__44pn1_p6_2, + (char *)_vq_lengthlist__44pn1_p6_2, 1, -529006592, 1611661312, 5, 0, (long *)_vq_quantlist__44pn1_p6_2, 0 }; -static const long _huff_lengthlist__44pn1_short[] = { +static const char _huff_lengthlist__44pn1_short[] = { 4, 3, 7, 9,12,16,16, 3, 2, 5, 7,11,14,15, 7, 4, 5, 6, 9,12,15, 8, 5, 5, 5, 8,10,14, 9, 7, 6, 6, 8,10,12,12,10,10, 7, 6, 8,10,15,12,10, 6, 4, 7, @@ -12249,7 +12266,7 @@ static const long _huff_lengthlist__44pn1_short[] = { static const static_codebook _huff_book__44pn1_short = { 2, 49, - (long *)_huff_lengthlist__44pn1_short, + (char *)_huff_lengthlist__44pn1_short, 0, 0, 0, 0, 0, NULL, 0 diff --git a/drivers/vorbis/books/coupled/res_books_stereo.h b/drivers/vorbis/books/coupled/res_books_stereo.h index 5f26215e9f..9a9049f6ed 100644 --- a/drivers/vorbis/books/coupled/res_books_stereo.h +++ b/drivers/vorbis/books/coupled/res_books_stereo.h @@ -11,7 +11,7 @@ ******************************************************************** function: static codebooks autogenerated by huff/huffbuld - last modified: $Id: res_books_stereo.h 17025 2010-03-25 04:56:56Z xiphmont $ + last modified: $Id: res_books_stereo.h 19057 2014-01-22 12:32:31Z xiphmont $ ********************************************************************/ @@ -23,7 +23,7 @@ static const long _vq_quantlist__16c0_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__16c0_s_p1_0[] = { +static const char _vq_lengthlist__16c0_s_p1_0[] = { 1, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -439,7 +439,7 @@ static const long _vq_lengthlist__16c0_s_p1_0[] = { static const static_codebook _16c0_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__16c0_s_p1_0, + (char *)_vq_lengthlist__16c0_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16c0_s_p1_0, 0 @@ -453,7 +453,7 @@ static const long _vq_quantlist__16c0_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__16c0_s_p3_0[] = { +static const char _vq_lengthlist__16c0_s_p3_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -498,7 +498,7 @@ static const long _vq_lengthlist__16c0_s_p3_0[] = { static const static_codebook _16c0_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__16c0_s_p3_0, + (char *)_vq_lengthlist__16c0_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c0_s_p3_0, 0 @@ -516,7 +516,7 @@ static const long _vq_quantlist__16c0_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__16c0_s_p4_0[] = { +static const char _vq_lengthlist__16c0_s_p4_0[] = { 1, 3, 2, 7, 8, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -527,7 +527,7 @@ static const long _vq_lengthlist__16c0_s_p4_0[] = { static const static_codebook _16c0_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__16c0_s_p4_0, + (char *)_vq_lengthlist__16c0_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16c0_s_p4_0, 0 @@ -545,7 +545,7 @@ static const long _vq_quantlist__16c0_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__16c0_s_p5_0[] = { +static const char _vq_lengthlist__16c0_s_p5_0[] = { 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 8, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0, 0, 0, @@ -556,7 +556,7 @@ static const long _vq_lengthlist__16c0_s_p5_0[] = { static const static_codebook _16c0_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__16c0_s_p5_0, + (char *)_vq_lengthlist__16c0_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16c0_s_p5_0, 0 @@ -582,7 +582,7 @@ static const long _vq_quantlist__16c0_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__16c0_s_p6_0[] = { +static const char _vq_lengthlist__16c0_s_p6_0[] = { 1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,11, 11,11, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11, @@ -606,7 +606,7 @@ static const long _vq_lengthlist__16c0_s_p6_0[] = { static const static_codebook _16c0_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__16c0_s_p6_0, + (char *)_vq_lengthlist__16c0_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__16c0_s_p6_0, 0 @@ -618,7 +618,7 @@ static const long _vq_quantlist__16c0_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__16c0_s_p7_0[] = { +static const char _vq_lengthlist__16c0_s_p7_0[] = { 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,11,10,10,11, 11,10, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11, 11,11,11,10, 6, 9, 9,11,12,12,11, 9, 9, 6, 9,10, @@ -629,7 +629,7 @@ static const long _vq_lengthlist__16c0_s_p7_0[] = { static const static_codebook _16c0_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__16c0_s_p7_0, + (char *)_vq_lengthlist__16c0_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__16c0_s_p7_0, 0 @@ -649,7 +649,7 @@ static const long _vq_quantlist__16c0_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__16c0_s_p7_1[] = { +static const char _vq_lengthlist__16c0_s_p7_1[] = { 1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 9, 9, 9,10,10,10, 6, 7, 8, 8, 8, 8, 9, 8,10,10,10, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, 7, @@ -662,7 +662,7 @@ static const long _vq_lengthlist__16c0_s_p7_1[] = { static const static_codebook _16c0_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__16c0_s_p7_1, + (char *)_vq_lengthlist__16c0_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16c0_s_p7_1, 0 @@ -684,7 +684,7 @@ static const long _vq_quantlist__16c0_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__16c0_s_p8_0[] = { +static const char _vq_lengthlist__16c0_s_p8_0[] = { 1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8,10,10, 6, 5, 6, 8, 8, 8, 8, 8, 8, 8, 9,10,10, 7, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8,10,10, 0, 8, 8, 8, 8, 9, 8, 9, 9, @@ -700,7 +700,7 @@ static const long _vq_lengthlist__16c0_s_p8_0[] = { static const static_codebook _16c0_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__16c0_s_p8_0, + (char *)_vq_lengthlist__16c0_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__16c0_s_p8_0, 0 @@ -714,14 +714,14 @@ static const long _vq_quantlist__16c0_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__16c0_s_p8_1[] = { +static const char _vq_lengthlist__16c0_s_p8_1[] = { 1, 4, 3, 5, 5, 7, 7, 7, 6, 6, 7, 7, 7, 5, 5, 7, 7, 7, 6, 6, 7, 7, 7, 6, 6, }; static const static_codebook _16c0_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__16c0_s_p8_1, + (char *)_vq_lengthlist__16c0_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c0_s_p8_1, 0 @@ -733,7 +733,7 @@ static const long _vq_quantlist__16c0_s_p9_0[] = { 2, }; -static const long _vq_lengthlist__16c0_s_p9_0[] = { +static const char _vq_lengthlist__16c0_s_p9_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -744,7 +744,7 @@ static const long _vq_lengthlist__16c0_s_p9_0[] = { static const static_codebook _16c0_s_p9_0 = { 4, 81, - (long *)_vq_lengthlist__16c0_s_p9_0, + (char *)_vq_lengthlist__16c0_s_p9_0, 1, -518803456, 1628680192, 2, 0, (long *)_vq_quantlist__16c0_s_p9_0, 0 @@ -768,7 +768,7 @@ static const long _vq_quantlist__16c0_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__16c0_s_p9_1[] = { +static const char _vq_lengthlist__16c0_s_p9_1[] = { 1, 5, 5, 5, 5, 9,11,11,10,10,10,10,10,10,10, 7, 6, 6, 6, 6,10,10,10,10,10,10,10,10,10,10, 7, 6, 6, 6, 6,10, 9,10,10,10,10,10,10,10,10,10, 7, 7, @@ -788,7 +788,7 @@ static const long _vq_lengthlist__16c0_s_p9_1[] = { static const static_codebook _16c0_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__16c0_s_p9_1, + (char *)_vq_lengthlist__16c0_s_p9_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__16c0_s_p9_1, 0 @@ -818,7 +818,7 @@ static const long _vq_quantlist__16c0_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__16c0_s_p9_2[] = { +static const char _vq_lengthlist__16c0_s_p9_2[] = { 1, 5, 5, 7, 8, 8, 7, 9, 9, 9,12,12,11,12,12,10, 10,11,12,12,12,11,12,12, 8, 9, 8, 7, 9,10,10,11, 11,10,11,12,10,12,10,12,12,12,11,12,11, 9, 8, 8, @@ -851,13 +851,13 @@ static const long _vq_lengthlist__16c0_s_p9_2[] = { static const static_codebook _16c0_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__16c0_s_p9_2, + (char *)_vq_lengthlist__16c0_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__16c0_s_p9_2, 0 }; -static const long _huff_lengthlist__16c0_s_single[] = { +static const char _huff_lengthlist__16c0_s_single[] = { 3, 4,19, 7, 9, 7, 8,11, 9,12, 4, 1,19, 6, 7, 7, 8,10,11,13,18,18,18,18,18,18,18,18,18,18, 8, 6, 18, 8, 9, 9,11,12,14,18, 9, 6,18, 9, 7, 8, 9,11, @@ -869,13 +869,13 @@ static const long _huff_lengthlist__16c0_s_single[] = { static const static_codebook _huff_book__16c0_s_single = { 2, 100, - (long *)_huff_lengthlist__16c0_s_single, + (char *)_huff_lengthlist__16c0_s_single, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__16c1_s_long[] = { +static const char _huff_lengthlist__16c1_s_long[] = { 2, 5,20, 7,10, 7, 8,10,11,11, 4, 2,20, 5, 8, 6, 7, 9,10,10,20,20,20,20,19,19,19,19,19,19, 7, 5, 19, 6,10, 7, 9,11,13,17,11, 8,19,10, 7, 7, 8,10, @@ -887,7 +887,7 @@ static const long _huff_lengthlist__16c1_s_long[] = { static const static_codebook _huff_book__16c1_s_long = { 2, 100, - (long *)_huff_lengthlist__16c1_s_long, + (char *)_huff_lengthlist__16c1_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -899,7 +899,7 @@ static const long _vq_quantlist__16c1_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__16c1_s_p1_0[] = { +static const char _vq_lengthlist__16c1_s_p1_0[] = { 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1315,7 +1315,7 @@ static const long _vq_lengthlist__16c1_s_p1_0[] = { static const static_codebook _16c1_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__16c1_s_p1_0, + (char *)_vq_lengthlist__16c1_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16c1_s_p1_0, 0 @@ -1329,7 +1329,7 @@ static const long _vq_quantlist__16c1_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__16c1_s_p3_0[] = { +static const char _vq_lengthlist__16c1_s_p3_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1374,7 +1374,7 @@ static const long _vq_lengthlist__16c1_s_p3_0[] = { static const static_codebook _16c1_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__16c1_s_p3_0, + (char *)_vq_lengthlist__16c1_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c1_s_p3_0, 0 @@ -1392,7 +1392,7 @@ static const long _vq_quantlist__16c1_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__16c1_s_p4_0[] = { +static const char _vq_lengthlist__16c1_s_p4_0[] = { 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -1403,7 +1403,7 @@ static const long _vq_lengthlist__16c1_s_p4_0[] = { static const static_codebook _16c1_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__16c1_s_p4_0, + (char *)_vq_lengthlist__16c1_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16c1_s_p4_0, 0 @@ -1421,7 +1421,7 @@ static const long _vq_quantlist__16c1_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__16c1_s_p5_0[] = { +static const char _vq_lengthlist__16c1_s_p5_0[] = { 1, 3, 3, 5, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0, @@ -1432,7 +1432,7 @@ static const long _vq_lengthlist__16c1_s_p5_0[] = { static const static_codebook _16c1_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__16c1_s_p5_0, + (char *)_vq_lengthlist__16c1_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16c1_s_p5_0, 0 @@ -1458,7 +1458,7 @@ static const long _vq_quantlist__16c1_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__16c1_s_p6_0[] = { +static const char _vq_lengthlist__16c1_s_p6_0[] = { 1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,12, 12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11, 12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11, @@ -1482,7 +1482,7 @@ static const long _vq_lengthlist__16c1_s_p6_0[] = { static const static_codebook _16c1_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__16c1_s_p6_0, + (char *)_vq_lengthlist__16c1_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__16c1_s_p6_0, 0 @@ -1494,7 +1494,7 @@ static const long _vq_quantlist__16c1_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__16c1_s_p7_0[] = { +static const char _vq_lengthlist__16c1_s_p7_0[] = { 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9,10,10, 10, 9, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11, 11,11,10,10, 6,10, 9,11,11,11,11,10,10, 6,10,10, @@ -1505,7 +1505,7 @@ static const long _vq_lengthlist__16c1_s_p7_0[] = { static const static_codebook _16c1_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__16c1_s_p7_0, + (char *)_vq_lengthlist__16c1_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__16c1_s_p7_0, 0 @@ -1525,7 +1525,7 @@ static const long _vq_quantlist__16c1_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__16c1_s_p7_1[] = { +static const char _vq_lengthlist__16c1_s_p7_1[] = { 2, 3, 3, 5, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -1538,7 +1538,7 @@ static const long _vq_lengthlist__16c1_s_p7_1[] = { static const static_codebook _16c1_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__16c1_s_p7_1, + (char *)_vq_lengthlist__16c1_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16c1_s_p7_1, 0 @@ -1560,7 +1560,7 @@ static const long _vq_quantlist__16c1_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__16c1_s_p8_0[] = { +static const char _vq_lengthlist__16c1_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 5, 7, 8, 8, 9, 8, 8, 9, 9,10,11, 6, 5, 5, 8, 8, 9, 9, 8, 8, 9,10,10,11, 0, 8, 8, 8, 9, 9, 9, 9, 9, @@ -1576,7 +1576,7 @@ static const long _vq_lengthlist__16c1_s_p8_0[] = { static const static_codebook _16c1_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__16c1_s_p8_0, + (char *)_vq_lengthlist__16c1_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__16c1_s_p8_0, 0 @@ -1590,14 +1590,14 @@ static const long _vq_quantlist__16c1_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__16c1_s_p8_1[] = { +static const char _vq_lengthlist__16c1_s_p8_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _16c1_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__16c1_s_p8_1, + (char *)_vq_lengthlist__16c1_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c1_s_p8_1, 0 @@ -1619,7 +1619,7 @@ static const long _vq_quantlist__16c1_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__16c1_s_p9_0[] = { +static const char _vq_lengthlist__16c1_s_p9_0[] = { 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -1635,7 +1635,7 @@ static const long _vq_lengthlist__16c1_s_p9_0[] = { static const static_codebook _16c1_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__16c1_s_p9_0, + (char *)_vq_lengthlist__16c1_s_p9_0, 1, -513964032, 1628680192, 4, 0, (long *)_vq_quantlist__16c1_s_p9_0, 0 @@ -1659,7 +1659,7 @@ static const long _vq_quantlist__16c1_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__16c1_s_p9_1[] = { +static const char _vq_lengthlist__16c1_s_p9_1[] = { 1, 4, 4, 4, 4, 8, 8,12,13,14,14,14,14,14,14, 6, 6, 6, 6, 6,10, 9,14,14,14,14,14,14,14,14, 7, 6, 5, 6, 6,10, 9,12,13,13,13,13,13,13,13,13, 7, 7, @@ -1679,7 +1679,7 @@ static const long _vq_lengthlist__16c1_s_p9_1[] = { static const static_codebook _16c1_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__16c1_s_p9_1, + (char *)_vq_lengthlist__16c1_s_p9_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__16c1_s_p9_1, 0 @@ -1709,7 +1709,7 @@ static const long _vq_quantlist__16c1_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__16c1_s_p9_2[] = { +static const char _vq_lengthlist__16c1_s_p9_2[] = { 1, 4, 4, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9,10, 10,10, 9,10,10,11,12,12, 8, 8, 8, 8, 9, 9, 9, 9, 10,10,10,10,10,11,11,10,12,11,11,13,11, 7, 7, 8, @@ -1742,13 +1742,13 @@ static const long _vq_lengthlist__16c1_s_p9_2[] = { static const static_codebook _16c1_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__16c1_s_p9_2, + (char *)_vq_lengthlist__16c1_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__16c1_s_p9_2, 0 }; -static const long _huff_lengthlist__16c1_s_short[] = { +static const char _huff_lengthlist__16c1_s_short[] = { 5, 6,17, 8,12, 9,10,10,12,13, 5, 2,17, 4, 9, 5, 7, 8,11,13,16,16,16,16,16,16,16,16,16,16, 6, 4, 16, 5,10, 5, 7,10,14,16,13, 9,16,11, 8, 7, 8, 9, @@ -1760,13 +1760,13 @@ static const long _huff_lengthlist__16c1_s_short[] = { static const static_codebook _huff_book__16c1_s_short = { 2, 100, - (long *)_huff_lengthlist__16c1_s_short, + (char *)_huff_lengthlist__16c1_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__16c2_s_long[] = { +static const char _huff_lengthlist__16c2_s_long[] = { 4, 7, 9, 9, 9, 8, 9,10,13,16, 5, 4, 5, 6, 7, 7, 8, 9,12,16, 6, 5, 5, 5, 7, 7, 9,10,12,15, 7, 6, 5, 4, 5, 6, 8, 9,10,13, 8, 7, 7, 5, 5, 5, 7, 9, @@ -1778,7 +1778,7 @@ static const long _huff_lengthlist__16c2_s_long[] = { static const static_codebook _huff_book__16c2_s_long = { 2, 100, - (long *)_huff_lengthlist__16c2_s_long, + (char *)_huff_lengthlist__16c2_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -1790,7 +1790,7 @@ static const long _vq_quantlist__16c2_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__16c2_s_p1_0[] = { +static const char _vq_lengthlist__16c2_s_p1_0[] = { 1, 3, 3, 0, 0, 0, 0, 0, 0, 4, 5, 5, 0, 0, 0, 0, 0, 0, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1801,7 +1801,7 @@ static const long _vq_lengthlist__16c2_s_p1_0[] = { static const static_codebook _16c2_s_p1_0 = { 4, 81, - (long *)_vq_lengthlist__16c2_s_p1_0, + (char *)_vq_lengthlist__16c2_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16c2_s_p1_0, 0 @@ -1815,7 +1815,7 @@ static const long _vq_quantlist__16c2_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__16c2_s_p2_0[] = { +static const char _vq_lengthlist__16c2_s_p2_0[] = { 2, 4, 4, 7, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 4, 4, 4, 8, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, @@ -1860,7 +1860,7 @@ static const long _vq_lengthlist__16c2_s_p2_0[] = { static const static_codebook _16c2_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__16c2_s_p2_0, + (char *)_vq_lengthlist__16c2_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c2_s_p2_0, 0 @@ -1878,7 +1878,7 @@ static const long _vq_quantlist__16c2_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__16c2_s_p3_0[] = { +static const char _vq_lengthlist__16c2_s_p3_0[] = { 1, 3, 3, 5, 5, 7, 7, 8, 8, 0, 0, 0, 6, 6, 8, 8, 9, 9, 0, 0, 0, 6, 6, 8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 9,10,10, 0, 0, 0, 7, 7, 9, 9,10,10, 0, 0, 0, @@ -1889,7 +1889,7 @@ static const long _vq_lengthlist__16c2_s_p3_0[] = { static const static_codebook _16c2_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__16c2_s_p3_0, + (char *)_vq_lengthlist__16c2_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16c2_s_p3_0, 0 @@ -1915,7 +1915,7 @@ static const long _vq_quantlist__16c2_s_p4_0[] = { 16, }; -static const long _vq_lengthlist__16c2_s_p4_0[] = { +static const char _vq_lengthlist__16c2_s_p4_0[] = { 2, 3, 3, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 11,10, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10, @@ -1939,7 +1939,7 @@ static const long _vq_lengthlist__16c2_s_p4_0[] = { static const static_codebook _16c2_s_p4_0 = { 2, 289, - (long *)_vq_lengthlist__16c2_s_p4_0, + (char *)_vq_lengthlist__16c2_s_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__16c2_s_p4_0, 0 @@ -1951,7 +1951,7 @@ static const long _vq_quantlist__16c2_s_p5_0[] = { 2, }; -static const long _vq_lengthlist__16c2_s_p5_0[] = { +static const char _vq_lengthlist__16c2_s_p5_0[] = { 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6,10,11,10,10, 10,11, 4, 6, 6,10,10,11,10,11,10, 5,10,10, 9,12, 11,10,12,12, 7,10,10,12,12,12,12,13,13, 7,11,10, @@ -1962,7 +1962,7 @@ static const long _vq_lengthlist__16c2_s_p5_0[] = { static const static_codebook _16c2_s_p5_0 = { 4, 81, - (long *)_vq_lengthlist__16c2_s_p5_0, + (char *)_vq_lengthlist__16c2_s_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__16c2_s_p5_0, 0 @@ -1982,7 +1982,7 @@ static const long _vq_quantlist__16c2_s_p5_1[] = { 10, }; -static const long _vq_lengthlist__16c2_s_p5_1[] = { +static const char _vq_lengthlist__16c2_s_p5_1[] = { 2, 3, 3, 6, 6, 6, 6, 7, 7, 7, 7,11,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9,11,11,11, 6, @@ -1995,7 +1995,7 @@ static const long _vq_lengthlist__16c2_s_p5_1[] = { static const static_codebook _16c2_s_p5_1 = { 2, 121, - (long *)_vq_lengthlist__16c2_s_p5_1, + (char *)_vq_lengthlist__16c2_s_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16c2_s_p5_1, 0 @@ -2017,7 +2017,7 @@ static const long _vq_quantlist__16c2_s_p6_0[] = { 12, }; -static const long _vq_lengthlist__16c2_s_p6_0[] = { +static const char _vq_lengthlist__16c2_s_p6_0[] = { 1, 4, 4, 6, 6, 8, 7, 8, 8, 9, 9,10,10, 5, 5, 5, 7, 7, 9, 9, 9, 9,11,11,12,12, 6, 5, 5, 7, 7, 9, 9,10, 9,11,11,12,12, 0, 7, 7, 7, 7, 9, 9,10,10, @@ -2033,7 +2033,7 @@ static const long _vq_lengthlist__16c2_s_p6_0[] = { static const static_codebook _16c2_s_p6_0 = { 2, 169, - (long *)_vq_lengthlist__16c2_s_p6_0, + (char *)_vq_lengthlist__16c2_s_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__16c2_s_p6_0, 0 @@ -2047,14 +2047,14 @@ static const long _vq_quantlist__16c2_s_p6_1[] = { 4, }; -static const long _vq_lengthlist__16c2_s_p6_1[] = { +static const char _vq_lengthlist__16c2_s_p6_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _16c2_s_p6_1 = { 2, 25, - (long *)_vq_lengthlist__16c2_s_p6_1, + (char *)_vq_lengthlist__16c2_s_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16c2_s_p6_1, 0 @@ -2076,7 +2076,7 @@ static const long _vq_quantlist__16c2_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__16c2_s_p7_0[] = { +static const char _vq_lengthlist__16c2_s_p7_0[] = { 1, 4, 4, 7, 7, 8, 8, 8, 8,10, 9,10,10, 5, 5, 5, 7, 7, 9, 9,10,10,11,10,12,11, 6, 5, 5, 7, 7, 9, 9,10,10,11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10, @@ -2092,7 +2092,7 @@ static const long _vq_lengthlist__16c2_s_p7_0[] = { static const static_codebook _16c2_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__16c2_s_p7_0, + (char *)_vq_lengthlist__16c2_s_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__16c2_s_p7_0, 0 @@ -2112,7 +2112,7 @@ static const long _vq_quantlist__16c2_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__16c2_s_p7_1[] = { +static const char _vq_lengthlist__16c2_s_p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 9, 9, 9, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 7, @@ -2125,7 +2125,7 @@ static const long _vq_lengthlist__16c2_s_p7_1[] = { static const static_codebook _16c2_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__16c2_s_p7_1, + (char *)_vq_lengthlist__16c2_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16c2_s_p7_1, 0 @@ -2149,7 +2149,7 @@ static const long _vq_quantlist__16c2_s_p8_0[] = { 14, }; -static const long _vq_lengthlist__16c2_s_p8_0[] = { +static const char _vq_lengthlist__16c2_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,10, 6, 6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11, 6, 5, 5, 8, 7, 9, 9, 8, 8, 9, 9,10,10,11,11,20, 8, 8, @@ -2169,7 +2169,7 @@ static const long _vq_lengthlist__16c2_s_p8_0[] = { static const static_codebook _16c2_s_p8_0 = { 2, 225, - (long *)_vq_lengthlist__16c2_s_p8_0, + (char *)_vq_lengthlist__16c2_s_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__16c2_s_p8_0, 0 @@ -2199,7 +2199,7 @@ static const long _vq_quantlist__16c2_s_p8_1[] = { 20, }; -static const long _vq_lengthlist__16c2_s_p8_1[] = { +static const char _vq_lengthlist__16c2_s_p8_1[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,11,10, 7, 7, 8, @@ -2232,7 +2232,7 @@ static const long _vq_lengthlist__16c2_s_p8_1[] = { static const static_codebook _16c2_s_p8_1 = { 2, 441, - (long *)_vq_lengthlist__16c2_s_p8_1, + (char *)_vq_lengthlist__16c2_s_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__16c2_s_p8_1, 0 @@ -2258,7 +2258,7 @@ static const long _vq_quantlist__16c2_s_p9_0[] = { 16, }; -static const long _vq_lengthlist__16c2_s_p9_0[] = { +static const char _vq_lengthlist__16c2_s_p9_0[] = { 1, 4, 3,10, 8,10,10,10,10,10,10,10,10,10,10,10, 10, 6,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 10,10, 6,10, 9,10,10,10,10,10,10,10,10,10,10,10, @@ -2282,7 +2282,7 @@ static const long _vq_lengthlist__16c2_s_p9_0[] = { static const static_codebook _16c2_s_p9_0 = { 2, 289, - (long *)_vq_lengthlist__16c2_s_p9_0, + (char *)_vq_lengthlist__16c2_s_p9_0, 1, -509798400, 1631393792, 5, 0, (long *)_vq_quantlist__16c2_s_p9_0, 0 @@ -2310,7 +2310,7 @@ static const long _vq_quantlist__16c2_s_p9_1[] = { 18, }; -static const long _vq_lengthlist__16c2_s_p9_1[] = { +static const char _vq_lengthlist__16c2_s_p9_1[] = { 1, 4, 4, 7, 7, 7, 7, 7, 7, 8, 8,10, 9,11,10,13, 11,14,13, 6, 6, 6, 8, 8, 8, 8, 8, 7, 9, 8,11, 9, 13,11,14,12,14,13, 5, 6, 6, 8, 8, 8, 8, 8, 8, 9, @@ -2338,7 +2338,7 @@ static const long _vq_lengthlist__16c2_s_p9_1[] = { static const static_codebook _16c2_s_p9_1 = { 2, 361, - (long *)_vq_lengthlist__16c2_s_p9_1, + (char *)_vq_lengthlist__16c2_s_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__16c2_s_p9_1, 0 @@ -2396,7 +2396,7 @@ static const long _vq_quantlist__16c2_s_p9_2[] = { 48, }; -static const long _vq_lengthlist__16c2_s_p9_2[] = { +static const char _vq_lengthlist__16c2_s_p9_2[] = { 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -2405,13 +2405,13 @@ static const long _vq_lengthlist__16c2_s_p9_2[] = { static const static_codebook _16c2_s_p9_2 = { 1, 49, - (long *)_vq_lengthlist__16c2_s_p9_2, + (char *)_vq_lengthlist__16c2_s_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__16c2_s_p9_2, 0 }; -static const long _huff_lengthlist__16c2_s_short[] = { +static const char _huff_lengthlist__16c2_s_short[] = { 7,10,12,11,12,13,15,16,18,15,10, 8, 8, 8, 9,10, 12,13,14,17,10, 7, 7, 7, 7, 8,10,12,15,18,10, 7, 7, 5, 5, 6, 8,10,13,15,10, 7, 6, 5, 4, 4, 6, 9, @@ -2423,7 +2423,7 @@ static const long _huff_lengthlist__16c2_s_short[] = { static const static_codebook _huff_book__16c2_s_short = { 2, 100, - (long *)_huff_lengthlist__16c2_s_short, + (char *)_huff_lengthlist__16c2_s_short, 0, 0, 0, 0, 0, NULL, 0 @@ -2435,7 +2435,7 @@ static const long _vq_quantlist__8c0_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__8c0_s_p1_0[] = { +static const char _vq_lengthlist__8c0_s_p1_0[] = { 1, 5, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2851,7 +2851,7 @@ static const long _vq_lengthlist__8c0_s_p1_0[] = { static const static_codebook _8c0_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__8c0_s_p1_0, + (char *)_vq_lengthlist__8c0_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8c0_s_p1_0, 0 @@ -2865,7 +2865,7 @@ static const long _vq_quantlist__8c0_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__8c0_s_p3_0[] = { +static const char _vq_lengthlist__8c0_s_p3_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2910,7 +2910,7 @@ static const long _vq_lengthlist__8c0_s_p3_0[] = { static const static_codebook _8c0_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__8c0_s_p3_0, + (char *)_vq_lengthlist__8c0_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8c0_s_p3_0, 0 @@ -2928,7 +2928,7 @@ static const long _vq_quantlist__8c0_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__8c0_s_p4_0[] = { +static const char _vq_lengthlist__8c0_s_p4_0[] = { 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -2939,7 +2939,7 @@ static const long _vq_lengthlist__8c0_s_p4_0[] = { static const static_codebook _8c0_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__8c0_s_p4_0, + (char *)_vq_lengthlist__8c0_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8c0_s_p4_0, 0 @@ -2957,7 +2957,7 @@ static const long _vq_quantlist__8c0_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__8c0_s_p5_0[] = { +static const char _vq_lengthlist__8c0_s_p5_0[] = { 1, 3, 3, 5, 5, 7, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 9, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0, 0, @@ -2968,7 +2968,7 @@ static const long _vq_lengthlist__8c0_s_p5_0[] = { static const static_codebook _8c0_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__8c0_s_p5_0, + (char *)_vq_lengthlist__8c0_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8c0_s_p5_0, 0 @@ -2994,7 +2994,7 @@ static const long _vq_quantlist__8c0_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__8c0_s_p6_0[] = { +static const char _vq_lengthlist__8c0_s_p6_0[] = { 1, 3, 3, 6, 6, 8, 8, 9, 9, 8, 8,10, 9,10,10,11, 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11, 11,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11, @@ -3018,7 +3018,7 @@ static const long _vq_lengthlist__8c0_s_p6_0[] = { static const static_codebook _8c0_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__8c0_s_p6_0, + (char *)_vq_lengthlist__8c0_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__8c0_s_p6_0, 0 @@ -3030,7 +3030,7 @@ static const long _vq_quantlist__8c0_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__8c0_s_p7_0[] = { +static const char _vq_lengthlist__8c0_s_p7_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,11, 9,10,12, 9,10, 4, 7, 7,10,10,10,11, 9, 9, 6,11,10,11,11, 12,11,11,11, 6,10,10,11,11,12,11,10,10, 6, 9,10, @@ -3041,7 +3041,7 @@ static const long _vq_lengthlist__8c0_s_p7_0[] = { static const static_codebook _8c0_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__8c0_s_p7_0, + (char *)_vq_lengthlist__8c0_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__8c0_s_p7_0, 0 @@ -3061,7 +3061,7 @@ static const long _vq_quantlist__8c0_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__8c0_s_p7_1[] = { +static const char _vq_lengthlist__8c0_s_p7_1[] = { 1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10, 7, 7, 8, 8, 9, 9, 9, 9,10,10, 9, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10, 8, @@ -3074,7 +3074,7 @@ static const long _vq_lengthlist__8c0_s_p7_1[] = { static const static_codebook _8c0_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__8c0_s_p7_1, + (char *)_vq_lengthlist__8c0_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__8c0_s_p7_1, 0 @@ -3096,7 +3096,7 @@ static const long _vq_quantlist__8c0_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__8c0_s_p8_0[] = { +static const char _vq_lengthlist__8c0_s_p8_0[] = { 1, 4, 4, 7, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 6, 6, 7, 7, 8, 8, 7, 7, 8, 9,10,10, 7, 6, 6, 7, 7, 8, 7, 7, 7, 9, 9,10,12, 0, 8, 8, 8, 8, 8, 9, 8, 8, @@ -3112,7 +3112,7 @@ static const long _vq_lengthlist__8c0_s_p8_0[] = { static const static_codebook _8c0_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__8c0_s_p8_0, + (char *)_vq_lengthlist__8c0_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__8c0_s_p8_0, 0 @@ -3126,14 +3126,14 @@ static const long _vq_quantlist__8c0_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__8c0_s_p8_1[] = { +static const char _vq_lengthlist__8c0_s_p8_1[] = { 1, 3, 4, 5, 5, 7, 6, 6, 6, 5, 7, 7, 7, 6, 6, 7, 7, 7, 6, 6, 7, 7, 7, 6, 6, }; static const static_codebook _8c0_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__8c0_s_p8_1, + (char *)_vq_lengthlist__8c0_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8c0_s_p8_1, 0 @@ -3145,7 +3145,7 @@ static const long _vq_quantlist__8c0_s_p9_0[] = { 2, }; -static const long _vq_lengthlist__8c0_s_p9_0[] = { +static const char _vq_lengthlist__8c0_s_p9_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -3156,7 +3156,7 @@ static const long _vq_lengthlist__8c0_s_p9_0[] = { static const static_codebook _8c0_s_p9_0 = { 4, 81, - (long *)_vq_lengthlist__8c0_s_p9_0, + (char *)_vq_lengthlist__8c0_s_p9_0, 1, -518803456, 1628680192, 2, 0, (long *)_vq_quantlist__8c0_s_p9_0, 0 @@ -3180,7 +3180,7 @@ static const long _vq_quantlist__8c0_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__8c0_s_p9_1[] = { +static const char _vq_lengthlist__8c0_s_p9_1[] = { 1, 4, 4, 5, 5,10, 8,11,11,11,11,11,11,11,11, 6, 6, 6, 7, 6,11,10,11,11,11,11,11,11,11,11, 7, 5, 6, 6, 6, 8, 7,11,11,11,11,11,11,11,11,11, 7, 8, @@ -3200,7 +3200,7 @@ static const long _vq_lengthlist__8c0_s_p9_1[] = { static const static_codebook _8c0_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__8c0_s_p9_1, + (char *)_vq_lengthlist__8c0_s_p9_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__8c0_s_p9_1, 0 @@ -3230,7 +3230,7 @@ static const long _vq_quantlist__8c0_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__8c0_s_p9_2[] = { +static const char _vq_lengthlist__8c0_s_p9_2[] = { 1, 5, 5, 7, 7, 8, 7, 8, 8,10,10, 9, 9,10,10,10, 11,11,10,12,11,12,12,12, 9, 8, 8, 8, 8, 8, 9,10, 10,10,10,11,11,11,10,11,11,12,12,11,12, 8, 8, 7, @@ -3263,13 +3263,13 @@ static const long _vq_lengthlist__8c0_s_p9_2[] = { static const static_codebook _8c0_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__8c0_s_p9_2, + (char *)_vq_lengthlist__8c0_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__8c0_s_p9_2, 0 }; -static const long _huff_lengthlist__8c0_s_single[] = { +static const char _huff_lengthlist__8c0_s_single[] = { 4, 5,18, 7,10, 6, 7, 8, 9,10, 5, 2,18, 5, 7, 5, 6, 7, 8,11,17,17,17,17,17,17,17,17,17,17, 7, 4, 17, 6, 9, 6, 8,10,12,15,11, 7,17, 9, 6, 6, 7, 9, @@ -3281,7 +3281,7 @@ static const long _huff_lengthlist__8c0_s_single[] = { static const static_codebook _huff_book__8c0_s_single = { 2, 100, - (long *)_huff_lengthlist__8c0_s_single, + (char *)_huff_lengthlist__8c0_s_single, 0, 0, 0, 0, 0, NULL, 0 @@ -3293,7 +3293,7 @@ static const long _vq_quantlist__8c1_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__8c1_s_p1_0[] = { +static const char _vq_lengthlist__8c1_s_p1_0[] = { 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3709,7 +3709,7 @@ static const long _vq_lengthlist__8c1_s_p1_0[] = { static const static_codebook _8c1_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__8c1_s_p1_0, + (char *)_vq_lengthlist__8c1_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8c1_s_p1_0, 0 @@ -3723,7 +3723,7 @@ static const long _vq_quantlist__8c1_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__8c1_s_p3_0[] = { +static const char _vq_lengthlist__8c1_s_p3_0[] = { 2, 4, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3768,7 +3768,7 @@ static const long _vq_lengthlist__8c1_s_p3_0[] = { static const static_codebook _8c1_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__8c1_s_p3_0, + (char *)_vq_lengthlist__8c1_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8c1_s_p3_0, 0 @@ -3786,7 +3786,7 @@ static const long _vq_quantlist__8c1_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__8c1_s_p4_0[] = { +static const char _vq_lengthlist__8c1_s_p4_0[] = { 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -3797,7 +3797,7 @@ static const long _vq_lengthlist__8c1_s_p4_0[] = { static const static_codebook _8c1_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__8c1_s_p4_0, + (char *)_vq_lengthlist__8c1_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8c1_s_p4_0, 0 @@ -3815,7 +3815,7 @@ static const long _vq_quantlist__8c1_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__8c1_s_p5_0[] = { +static const char _vq_lengthlist__8c1_s_p5_0[] = { 1, 3, 3, 4, 5, 6, 6, 8, 8, 0, 0, 0, 8, 8, 7, 7, 9, 9, 0, 0, 0, 8, 8, 7, 7, 9, 9, 0, 0, 0, 9,10, 8, 8, 9, 9, 0, 0, 0,10,10, 8, 8, 9, 9, 0, 0, 0, @@ -3826,7 +3826,7 @@ static const long _vq_lengthlist__8c1_s_p5_0[] = { static const static_codebook _8c1_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__8c1_s_p5_0, + (char *)_vq_lengthlist__8c1_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8c1_s_p5_0, 0 @@ -3852,7 +3852,7 @@ static const long _vq_quantlist__8c1_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__8c1_s_p6_0[] = { +static const char _vq_lengthlist__8c1_s_p6_0[] = { 1, 3, 3, 5, 5, 8, 8, 8, 8, 9, 9,10,10,11,11,11, 11, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,11, 12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11, @@ -3876,7 +3876,7 @@ static const long _vq_lengthlist__8c1_s_p6_0[] = { static const static_codebook _8c1_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__8c1_s_p6_0, + (char *)_vq_lengthlist__8c1_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__8c1_s_p6_0, 0 @@ -3888,7 +3888,7 @@ static const long _vq_quantlist__8c1_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__8c1_s_p7_0[] = { +static const char _vq_lengthlist__8c1_s_p7_0[] = { 1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10, 9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10, 10,11,10,10, 6, 9, 9,10, 9,10,11,10,10, 6, 9, 9, @@ -3899,7 +3899,7 @@ static const long _vq_lengthlist__8c1_s_p7_0[] = { static const static_codebook _8c1_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__8c1_s_p7_0, + (char *)_vq_lengthlist__8c1_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__8c1_s_p7_0, 0 @@ -3919,7 +3919,7 @@ static const long _vq_quantlist__8c1_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__8c1_s_p7_1[] = { +static const char _vq_lengthlist__8c1_s_p7_1[] = { 2, 3, 3, 5, 5, 7, 7, 7, 7, 7, 7,10,10, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -3932,7 +3932,7 @@ static const long _vq_lengthlist__8c1_s_p7_1[] = { static const static_codebook _8c1_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__8c1_s_p7_1, + (char *)_vq_lengthlist__8c1_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__8c1_s_p7_1, 0 @@ -3954,7 +3954,7 @@ static const long _vq_quantlist__8c1_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__8c1_s_p8_0[] = { +static const char _vq_lengthlist__8c1_s_p8_0[] = { 1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9,10,11,11, 7, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -3970,7 +3970,7 @@ static const long _vq_lengthlist__8c1_s_p8_0[] = { static const static_codebook _8c1_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__8c1_s_p8_0, + (char *)_vq_lengthlist__8c1_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__8c1_s_p8_0, 0 @@ -3984,14 +3984,14 @@ static const long _vq_quantlist__8c1_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__8c1_s_p8_1[] = { +static const char _vq_lengthlist__8c1_s_p8_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _8c1_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__8c1_s_p8_1, + (char *)_vq_lengthlist__8c1_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8c1_s_p8_1, 0 @@ -4013,7 +4013,7 @@ static const long _vq_quantlist__8c1_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__8c1_s_p9_0[] = { +static const char _vq_lengthlist__8c1_s_p9_0[] = { 1, 3, 3,10,10,10,10,10,10,10,10,10,10, 5, 6, 6, 10,10,10,10,10,10,10,10,10,10, 6, 7, 8,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -4029,7 +4029,7 @@ static const long _vq_lengthlist__8c1_s_p9_0[] = { static const static_codebook _8c1_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__8c1_s_p9_0, + (char *)_vq_lengthlist__8c1_s_p9_0, 1, -513964032, 1628680192, 4, 0, (long *)_vq_quantlist__8c1_s_p9_0, 0 @@ -4053,7 +4053,7 @@ static const long _vq_quantlist__8c1_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__8c1_s_p9_1[] = { +static const char _vq_lengthlist__8c1_s_p9_1[] = { 1, 4, 4, 5, 5, 7, 7, 9, 9,11,11,12,12,13,13, 6, 5, 5, 6, 6, 9, 9,10,10,12,12,12,13,15,14, 6, 5, 5, 7, 7, 9, 9,10,10,12,12,12,13,14,13,17, 7, 7, @@ -4073,7 +4073,7 @@ static const long _vq_lengthlist__8c1_s_p9_1[] = { static const static_codebook _8c1_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__8c1_s_p9_1, + (char *)_vq_lengthlist__8c1_s_p9_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__8c1_s_p9_1, 0 @@ -4103,7 +4103,7 @@ static const long _vq_quantlist__8c1_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__8c1_s_p9_2[] = { +static const char _vq_lengthlist__8c1_s_p9_2[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9,11,11,12, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,10,10,10,10,11,11,11, 7, 7, 7, @@ -4136,13 +4136,13 @@ static const long _vq_lengthlist__8c1_s_p9_2[] = { static const static_codebook _8c1_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__8c1_s_p9_2, + (char *)_vq_lengthlist__8c1_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__8c1_s_p9_2, 0 }; -static const long _huff_lengthlist__8c1_s_single[] = { +static const char _huff_lengthlist__8c1_s_single[] = { 4, 6,18, 8,11, 8, 8, 9, 9,10, 4, 4,18, 5, 9, 5, 6, 7, 8,10,18,18,18,18,17,17,17,17,17,17, 7, 5, 17, 6,11, 6, 7, 8, 9,12,12, 9,17,12, 8, 8, 9,10, @@ -4154,13 +4154,13 @@ static const long _huff_lengthlist__8c1_s_single[] = { static const static_codebook _huff_book__8c1_s_single = { 2, 100, - (long *)_huff_lengthlist__8c1_s_single, + (char *)_huff_lengthlist__8c1_s_single, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c2_s_long[] = { +static const char _huff_lengthlist__44c2_s_long[] = { 6, 6,12,10,10,10, 9,10,12,12, 6, 1,10, 5, 6, 6, 7, 9,11,14,12, 9, 8,11, 7, 8, 9,11,13,15,10, 5, 12, 7, 8, 7, 9,12,14,15,10, 6, 7, 8, 5, 6, 7, 9, @@ -4172,7 +4172,7 @@ static const long _huff_lengthlist__44c2_s_long[] = { static const static_codebook _huff_book__44c2_s_long = { 2, 100, - (long *)_huff_lengthlist__44c2_s_long, + (char *)_huff_lengthlist__44c2_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -4184,7 +4184,7 @@ static const long _vq_quantlist__44c2_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c2_s_p1_0[] = { +static const char _vq_lengthlist__44c2_s_p1_0[] = { 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4600,7 +4600,7 @@ static const long _vq_lengthlist__44c2_s_p1_0[] = { static const static_codebook _44c2_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c2_s_p1_0, + (char *)_vq_lengthlist__44c2_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c2_s_p1_0, 0 @@ -4614,7 +4614,7 @@ static const long _vq_quantlist__44c2_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c2_s_p2_0[] = { +static const char _vq_lengthlist__44c2_s_p2_0[] = { 1, 4, 4, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, @@ -4659,7 +4659,7 @@ static const long _vq_lengthlist__44c2_s_p2_0[] = { static const static_codebook _44c2_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c2_s_p2_0, + (char *)_vq_lengthlist__44c2_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c2_s_p2_0, 0 @@ -4673,7 +4673,7 @@ static const long _vq_quantlist__44c2_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__44c2_s_p3_0[] = { +static const char _vq_lengthlist__44c2_s_p3_0[] = { 2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4718,7 +4718,7 @@ static const long _vq_lengthlist__44c2_s_p3_0[] = { static const static_codebook _44c2_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__44c2_s_p3_0, + (char *)_vq_lengthlist__44c2_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c2_s_p3_0, 0 @@ -4736,7 +4736,7 @@ static const long _vq_quantlist__44c2_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c2_s_p4_0[] = { +static const char _vq_lengthlist__44c2_s_p4_0[] = { 1, 3, 3, 6, 6, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 7, 7, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, @@ -4747,7 +4747,7 @@ static const long _vq_lengthlist__44c2_s_p4_0[] = { static const static_codebook _44c2_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c2_s_p4_0, + (char *)_vq_lengthlist__44c2_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c2_s_p4_0, 0 @@ -4765,7 +4765,7 @@ static const long _vq_quantlist__44c2_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__44c2_s_p5_0[] = { +static const char _vq_lengthlist__44c2_s_p5_0[] = { 1, 3, 3, 6, 6, 7, 7, 9, 9, 0, 7, 7, 7, 7, 7, 7, 9, 9, 0, 7, 7, 7, 7, 7, 7, 9, 9, 0, 8, 8, 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0, @@ -4776,7 +4776,7 @@ static const long _vq_lengthlist__44c2_s_p5_0[] = { static const static_codebook _44c2_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__44c2_s_p5_0, + (char *)_vq_lengthlist__44c2_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c2_s_p5_0, 0 @@ -4802,7 +4802,7 @@ static const long _vq_quantlist__44c2_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__44c2_s_p6_0[] = { +static const char _vq_lengthlist__44c2_s_p6_0[] = { 1, 4, 3, 6, 6, 8, 8, 9, 9, 9, 9, 9, 9,10,10,11, 11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11, 12,11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11, @@ -4826,7 +4826,7 @@ static const long _vq_lengthlist__44c2_s_p6_0[] = { static const static_codebook _44c2_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__44c2_s_p6_0, + (char *)_vq_lengthlist__44c2_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c2_s_p6_0, 0 @@ -4838,7 +4838,7 @@ static const long _vq_quantlist__44c2_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__44c2_s_p7_0[] = { +static const char _vq_lengthlist__44c2_s_p7_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,10, 9, 9, 7,10,10,11,10, 11,11,10,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -4849,7 +4849,7 @@ static const long _vq_lengthlist__44c2_s_p7_0[] = { static const static_codebook _44c2_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__44c2_s_p7_0, + (char *)_vq_lengthlist__44c2_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c2_s_p7_0, 0 @@ -4869,7 +4869,7 @@ static const long _vq_quantlist__44c2_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c2_s_p7_1[] = { +static const char _vq_lengthlist__44c2_s_p7_1[] = { 2, 3, 4, 6, 6, 7, 7, 7, 7, 7, 7, 9, 7, 7, 6, 6, 7, 7, 8, 8, 8, 8, 9, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -4882,7 +4882,7 @@ static const long _vq_lengthlist__44c2_s_p7_1[] = { static const static_codebook _44c2_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c2_s_p7_1, + (char *)_vq_lengthlist__44c2_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c2_s_p7_1, 0 @@ -4904,7 +4904,7 @@ static const long _vq_quantlist__44c2_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c2_s_p8_0[] = { +static const char _vq_lengthlist__44c2_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -4920,7 +4920,7 @@ static const long _vq_lengthlist__44c2_s_p8_0[] = { static const static_codebook _44c2_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c2_s_p8_0, + (char *)_vq_lengthlist__44c2_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c2_s_p8_0, 0 @@ -4934,14 +4934,14 @@ static const long _vq_quantlist__44c2_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__44c2_s_p8_1[] = { +static const char _vq_lengthlist__44c2_s_p8_1[] = { 2, 4, 4, 5, 4, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c2_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__44c2_s_p8_1, + (char *)_vq_lengthlist__44c2_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c2_s_p8_1, 0 @@ -4963,7 +4963,7 @@ static const long _vq_quantlist__44c2_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__44c2_s_p9_0[] = { +static const char _vq_lengthlist__44c2_s_p9_0[] = { 1, 5, 4,12,12,12,12,12,12,12,12,12,12, 4, 9, 8, 11,11,11,11,11,11,11,11,11,11, 2, 8, 7,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -4979,7 +4979,7 @@ static const long _vq_lengthlist__44c2_s_p9_0[] = { static const static_codebook _44c2_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__44c2_s_p9_0, + (char *)_vq_lengthlist__44c2_s_p9_0, 1, -514541568, 1627103232, 4, 0, (long *)_vq_quantlist__44c2_s_p9_0, 0 @@ -5001,7 +5001,7 @@ static const long _vq_quantlist__44c2_s_p9_1[] = { 12, }; -static const long _vq_lengthlist__44c2_s_p9_1[] = { +static const char _vq_lengthlist__44c2_s_p9_1[] = { 1, 4, 4, 6, 6, 7, 6, 8, 8,10, 9,10,10, 6, 5, 5, 7, 7, 8, 7,10, 9,11,11,12,13, 6, 5, 5, 7, 7, 8, 8,10,10,11,11,13,13,18, 8, 8, 8, 8, 9, 9,10,10, @@ -5017,7 +5017,7 @@ static const long _vq_lengthlist__44c2_s_p9_1[] = { static const static_codebook _44c2_s_p9_1 = { 2, 169, - (long *)_vq_lengthlist__44c2_s_p9_1, + (char *)_vq_lengthlist__44c2_s_p9_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44c2_s_p9_1, 0 @@ -5043,7 +5043,7 @@ static const long _vq_quantlist__44c2_s_p9_2[] = { 16, }; -static const long _vq_lengthlist__44c2_s_p9_2[] = { +static const char _vq_lengthlist__44c2_s_p9_2[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, @@ -5067,13 +5067,13 @@ static const long _vq_lengthlist__44c2_s_p9_2[] = { static const static_codebook _44c2_s_p9_2 = { 2, 289, - (long *)_vq_lengthlist__44c2_s_p9_2, + (char *)_vq_lengthlist__44c2_s_p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c2_s_p9_2, 0 }; -static const long _huff_lengthlist__44c2_s_short[] = { +static const char _huff_lengthlist__44c2_s_short[] = { 11, 9,13,12,12,11,12,12,13,15, 8, 2,11, 4, 8, 5, 7,10,12,15,13, 7,10, 9, 8, 8,10,13,17,17,11, 4, 12, 5, 9, 5, 8,11,14,16,12, 6, 8, 7, 6, 6, 8,11, @@ -5085,13 +5085,13 @@ static const long _huff_lengthlist__44c2_s_short[] = { static const static_codebook _huff_book__44c2_s_short = { 2, 100, - (long *)_huff_lengthlist__44c2_s_short, + (char *)_huff_lengthlist__44c2_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c3_s_long[] = { +static const char _huff_lengthlist__44c3_s_long[] = { 5, 6,11,11,11,11,10,10,12,11, 5, 2,11, 5, 6, 6, 7, 9,11,13,13,10, 7,11, 6, 7, 8, 9,10,12,11, 5, 11, 6, 8, 7, 9,11,14,15,11, 6, 6, 8, 4, 5, 7, 8, @@ -5103,7 +5103,7 @@ static const long _huff_lengthlist__44c3_s_long[] = { static const static_codebook _huff_book__44c3_s_long = { 2, 100, - (long *)_huff_lengthlist__44c3_s_long, + (char *)_huff_lengthlist__44c3_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -5115,7 +5115,7 @@ static const long _vq_quantlist__44c3_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c3_s_p1_0[] = { +static const char _vq_lengthlist__44c3_s_p1_0[] = { 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5531,7 +5531,7 @@ static const long _vq_lengthlist__44c3_s_p1_0[] = { static const static_codebook _44c3_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c3_s_p1_0, + (char *)_vq_lengthlist__44c3_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c3_s_p1_0, 0 @@ -5545,7 +5545,7 @@ static const long _vq_quantlist__44c3_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c3_s_p2_0[] = { +static const char _vq_lengthlist__44c3_s_p2_0[] = { 2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0, @@ -5590,7 +5590,7 @@ static const long _vq_lengthlist__44c3_s_p2_0[] = { static const static_codebook _44c3_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c3_s_p2_0, + (char *)_vq_lengthlist__44c3_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c3_s_p2_0, 0 @@ -5604,7 +5604,7 @@ static const long _vq_quantlist__44c3_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__44c3_s_p3_0[] = { +static const char _vq_lengthlist__44c3_s_p3_0[] = { 2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5649,7 +5649,7 @@ static const long _vq_lengthlist__44c3_s_p3_0[] = { static const static_codebook _44c3_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__44c3_s_p3_0, + (char *)_vq_lengthlist__44c3_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c3_s_p3_0, 0 @@ -5667,7 +5667,7 @@ static const long _vq_quantlist__44c3_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c3_s_p4_0[] = { +static const char _vq_lengthlist__44c3_s_p4_0[] = { 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, @@ -5678,7 +5678,7 @@ static const long _vq_lengthlist__44c3_s_p4_0[] = { static const static_codebook _44c3_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c3_s_p4_0, + (char *)_vq_lengthlist__44c3_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c3_s_p4_0, 0 @@ -5696,7 +5696,7 @@ static const long _vq_quantlist__44c3_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__44c3_s_p5_0[] = { +static const char _vq_lengthlist__44c3_s_p5_0[] = { 1, 3, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 7, 8, 9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0, @@ -5707,7 +5707,7 @@ static const long _vq_lengthlist__44c3_s_p5_0[] = { static const static_codebook _44c3_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__44c3_s_p5_0, + (char *)_vq_lengthlist__44c3_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c3_s_p5_0, 0 @@ -5733,7 +5733,7 @@ static const long _vq_quantlist__44c3_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__44c3_s_p6_0[] = { +static const char _vq_lengthlist__44c3_s_p6_0[] = { 2, 3, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 10, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10, 11,11, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, @@ -5757,7 +5757,7 @@ static const long _vq_lengthlist__44c3_s_p6_0[] = { static const static_codebook _44c3_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__44c3_s_p6_0, + (char *)_vq_lengthlist__44c3_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c3_s_p6_0, 0 @@ -5769,7 +5769,7 @@ static const long _vq_quantlist__44c3_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__44c3_s_p7_0[] = { +static const char _vq_lengthlist__44c3_s_p7_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11, 10,12,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -5780,7 +5780,7 @@ static const long _vq_lengthlist__44c3_s_p7_0[] = { static const static_codebook _44c3_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__44c3_s_p7_0, + (char *)_vq_lengthlist__44c3_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c3_s_p7_0, 0 @@ -5800,7 +5800,7 @@ static const long _vq_quantlist__44c3_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c3_s_p7_1[] = { +static const char _vq_lengthlist__44c3_s_p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -5813,7 +5813,7 @@ static const long _vq_lengthlist__44c3_s_p7_1[] = { static const static_codebook _44c3_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c3_s_p7_1, + (char *)_vq_lengthlist__44c3_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c3_s_p7_1, 0 @@ -5835,7 +5835,7 @@ static const long _vq_quantlist__44c3_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c3_s_p8_0[] = { +static const char _vq_lengthlist__44c3_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -5851,7 +5851,7 @@ static const long _vq_lengthlist__44c3_s_p8_0[] = { static const static_codebook _44c3_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c3_s_p8_0, + (char *)_vq_lengthlist__44c3_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c3_s_p8_0, 0 @@ -5865,14 +5865,14 @@ static const long _vq_quantlist__44c3_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__44c3_s_p8_1[] = { +static const char _vq_lengthlist__44c3_s_p8_1[] = { 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c3_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__44c3_s_p8_1, + (char *)_vq_lengthlist__44c3_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c3_s_p8_1, 0 @@ -5894,7 +5894,7 @@ static const long _vq_quantlist__44c3_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__44c3_s_p9_0[] = { +static const char _vq_lengthlist__44c3_s_p9_0[] = { 1, 4, 4,12,12,12,12,12,12,12,12,12,12, 4, 9, 8, 12,12,12,12,12,12,12,12,12,12, 2, 9, 7,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, @@ -5910,7 +5910,7 @@ static const long _vq_lengthlist__44c3_s_p9_0[] = { static const static_codebook _44c3_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__44c3_s_p9_0, + (char *)_vq_lengthlist__44c3_s_p9_0, 1, -514332672, 1627381760, 4, 0, (long *)_vq_quantlist__44c3_s_p9_0, 0 @@ -5934,7 +5934,7 @@ static const long _vq_quantlist__44c3_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__44c3_s_p9_1[] = { +static const char _vq_lengthlist__44c3_s_p9_1[] = { 1, 4, 4, 6, 6, 7, 7, 8, 7, 9, 9,10,10,10,10, 6, 5, 5, 7, 7, 8, 8,10, 8,11,10,12,12,13,13, 6, 5, 5, 7, 7, 8, 8,10, 9,11,11,12,12,13,12,18, 8, 8, @@ -5954,7 +5954,7 @@ static const long _vq_lengthlist__44c3_s_p9_1[] = { static const static_codebook _44c3_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__44c3_s_p9_1, + (char *)_vq_lengthlist__44c3_s_p9_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__44c3_s_p9_1, 0 @@ -5980,7 +5980,7 @@ static const long _vq_quantlist__44c3_s_p9_2[] = { 16, }; -static const long _vq_lengthlist__44c3_s_p9_2[] = { +static const char _vq_lengthlist__44c3_s_p9_2[] = { 2, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, @@ -6004,13 +6004,13 @@ static const long _vq_lengthlist__44c3_s_p9_2[] = { static const static_codebook _44c3_s_p9_2 = { 2, 289, - (long *)_vq_lengthlist__44c3_s_p9_2, + (char *)_vq_lengthlist__44c3_s_p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c3_s_p9_2, 0 }; -static const long _huff_lengthlist__44c3_s_short[] = { +static const char _huff_lengthlist__44c3_s_short[] = { 10, 9,13,11,14,10,12,13,13,14, 7, 2,12, 5,10, 5, 7,10,12,14,12, 6, 9, 8, 7, 7, 9,11,13,16,10, 4, 12, 5,10, 6, 8,12,14,16,12, 6, 8, 7, 6, 5, 7,11, @@ -6022,13 +6022,13 @@ static const long _huff_lengthlist__44c3_s_short[] = { static const static_codebook _huff_book__44c3_s_short = { 2, 100, - (long *)_huff_lengthlist__44c3_s_short, + (char *)_huff_lengthlist__44c3_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c4_s_long[] = { +static const char _huff_lengthlist__44c4_s_long[] = { 4, 7,11,11,11,11,10,11,12,11, 5, 2,11, 5, 6, 6, 7, 9,11,12,11, 9, 6,10, 6, 7, 8, 9,10,11,11, 5, 11, 7, 8, 8, 9,11,13,14,11, 6, 5, 8, 4, 5, 7, 8, @@ -6040,7 +6040,7 @@ static const long _huff_lengthlist__44c4_s_long[] = { static const static_codebook _huff_book__44c4_s_long = { 2, 100, - (long *)_huff_lengthlist__44c4_s_long, + (char *)_huff_lengthlist__44c4_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -6052,7 +6052,7 @@ static const long _vq_quantlist__44c4_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c4_s_p1_0[] = { +static const char _vq_lengthlist__44c4_s_p1_0[] = { 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6468,7 +6468,7 @@ static const long _vq_lengthlist__44c4_s_p1_0[] = { static const static_codebook _44c4_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c4_s_p1_0, + (char *)_vq_lengthlist__44c4_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c4_s_p1_0, 0 @@ -6482,7 +6482,7 @@ static const long _vq_quantlist__44c4_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c4_s_p2_0[] = { +static const char _vq_lengthlist__44c4_s_p2_0[] = { 2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0, @@ -6527,7 +6527,7 @@ static const long _vq_lengthlist__44c4_s_p2_0[] = { static const static_codebook _44c4_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c4_s_p2_0, + (char *)_vq_lengthlist__44c4_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c4_s_p2_0, 0 @@ -6541,7 +6541,7 @@ static const long _vq_quantlist__44c4_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__44c4_s_p3_0[] = { +static const char _vq_lengthlist__44c4_s_p3_0[] = { 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6586,7 +6586,7 @@ static const long _vq_lengthlist__44c4_s_p3_0[] = { static const static_codebook _44c4_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__44c4_s_p3_0, + (char *)_vq_lengthlist__44c4_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c4_s_p3_0, 0 @@ -6604,7 +6604,7 @@ static const long _vq_quantlist__44c4_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c4_s_p4_0[] = { +static const char _vq_lengthlist__44c4_s_p4_0[] = { 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, @@ -6615,7 +6615,7 @@ static const long _vq_lengthlist__44c4_s_p4_0[] = { static const static_codebook _44c4_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c4_s_p4_0, + (char *)_vq_lengthlist__44c4_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c4_s_p4_0, 0 @@ -6633,7 +6633,7 @@ static const long _vq_quantlist__44c4_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__44c4_s_p5_0[] = { +static const char _vq_lengthlist__44c4_s_p5_0[] = { 2, 3, 3, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 4, 5, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10, 9, 0, 0, 0, @@ -6644,7 +6644,7 @@ static const long _vq_lengthlist__44c4_s_p5_0[] = { static const static_codebook _44c4_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__44c4_s_p5_0, + (char *)_vq_lengthlist__44c4_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c4_s_p5_0, 0 @@ -6670,7 +6670,7 @@ static const long _vq_quantlist__44c4_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__44c4_s_p6_0[] = { +static const char _vq_lengthlist__44c4_s_p6_0[] = { 2, 4, 4, 6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11, 11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11, 11,11, 0, 4, 4, 7, 6, 8, 8, 9, 9, 9, 9,10,10,11, @@ -6694,7 +6694,7 @@ static const long _vq_lengthlist__44c4_s_p6_0[] = { static const static_codebook _44c4_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__44c4_s_p6_0, + (char *)_vq_lengthlist__44c4_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c4_s_p6_0, 0 @@ -6706,7 +6706,7 @@ static const long _vq_quantlist__44c4_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__44c4_s_p7_0[] = { +static const char _vq_lengthlist__44c4_s_p7_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11, 10,11,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -6717,7 +6717,7 @@ static const long _vq_lengthlist__44c4_s_p7_0[] = { static const static_codebook _44c4_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__44c4_s_p7_0, + (char *)_vq_lengthlist__44c4_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c4_s_p7_0, 0 @@ -6737,7 +6737,7 @@ static const long _vq_quantlist__44c4_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c4_s_p7_1[] = { +static const char _vq_lengthlist__44c4_s_p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -6750,7 +6750,7 @@ static const long _vq_lengthlist__44c4_s_p7_1[] = { static const static_codebook _44c4_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c4_s_p7_1, + (char *)_vq_lengthlist__44c4_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c4_s_p7_1, 0 @@ -6772,7 +6772,7 @@ static const long _vq_quantlist__44c4_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c4_s_p8_0[] = { +static const char _vq_lengthlist__44c4_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 8, 8, 8, 8, 9,10,11,11, 7, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -6788,7 +6788,7 @@ static const long _vq_lengthlist__44c4_s_p8_0[] = { static const static_codebook _44c4_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c4_s_p8_0, + (char *)_vq_lengthlist__44c4_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c4_s_p8_0, 0 @@ -6802,14 +6802,14 @@ static const long _vq_quantlist__44c4_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__44c4_s_p8_1[] = { +static const char _vq_lengthlist__44c4_s_p8_1[] = { 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 5, 4, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c4_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__44c4_s_p8_1, + (char *)_vq_lengthlist__44c4_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c4_s_p8_1, 0 @@ -6831,7 +6831,7 @@ static const long _vq_quantlist__44c4_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__44c4_s_p9_0[] = { +static const char _vq_lengthlist__44c4_s_p9_0[] = { 1, 3, 3,12,12,12,12,12,12,12,12,12,12, 4, 7, 7, 12,12,12,12,12,12,12,12,12,12, 3, 8, 8,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, @@ -6847,7 +6847,7 @@ static const long _vq_lengthlist__44c4_s_p9_0[] = { static const static_codebook _44c4_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__44c4_s_p9_0, + (char *)_vq_lengthlist__44c4_s_p9_0, 1, -513964032, 1628680192, 4, 0, (long *)_vq_quantlist__44c4_s_p9_0, 0 @@ -6871,7 +6871,7 @@ static const long _vq_quantlist__44c4_s_p9_1[] = { 14, }; -static const long _vq_lengthlist__44c4_s_p9_1[] = { +static const char _vq_lengthlist__44c4_s_p9_1[] = { 1, 4, 4, 5, 5, 7, 7, 9, 8,10, 9,10,10,10,10, 6, 5, 5, 7, 7, 9, 8,10, 9,11,10,12,12,13,13, 6, 5, 5, 7, 7, 9, 9,10,10,11,11,12,12,12,13,19, 8, 8, @@ -6891,7 +6891,7 @@ static const long _vq_lengthlist__44c4_s_p9_1[] = { static const static_codebook _44c4_s_p9_1 = { 2, 225, - (long *)_vq_lengthlist__44c4_s_p9_1, + (char *)_vq_lengthlist__44c4_s_p9_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44c4_s_p9_1, 0 @@ -6921,7 +6921,7 @@ static const long _vq_quantlist__44c4_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__44c4_s_p9_2[] = { +static const char _vq_lengthlist__44c4_s_p9_2[] = { 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,11, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10,11, 6, 6, 7, 7, 8, @@ -6954,13 +6954,13 @@ static const long _vq_lengthlist__44c4_s_p9_2[] = { static const static_codebook _44c4_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__44c4_s_p9_2, + (char *)_vq_lengthlist__44c4_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c4_s_p9_2, 0 }; -static const long _huff_lengthlist__44c4_s_short[] = { +static const char _huff_lengthlist__44c4_s_short[] = { 4, 7,14,10,15,10,12,15,16,15, 4, 2,11, 5,10, 6, 8,11,14,14,14,10, 7,11, 6, 8,10,11,13,15, 9, 4, 11, 5, 9, 6, 9,12,14,15,14, 9, 6, 9, 4, 5, 7,10, @@ -6972,13 +6972,13 @@ static const long _huff_lengthlist__44c4_s_short[] = { static const static_codebook _huff_book__44c4_s_short = { 2, 100, - (long *)_huff_lengthlist__44c4_s_short, + (char *)_huff_lengthlist__44c4_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c5_s_long[] = { +static const char _huff_lengthlist__44c5_s_long[] = { 3, 8, 9,13,10,12,12,12,12,12, 6, 4, 6, 8, 6, 8, 10,10,11,12, 8, 5, 4,10, 4, 7, 8, 9,10,11,13, 8, 10, 8, 9, 9,11,12,13,14,10, 6, 4, 9, 3, 5, 6, 8, @@ -6990,7 +6990,7 @@ static const long _huff_lengthlist__44c5_s_long[] = { static const static_codebook _huff_book__44c5_s_long = { 2, 100, - (long *)_huff_lengthlist__44c5_s_long, + (char *)_huff_lengthlist__44c5_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -7002,7 +7002,7 @@ static const long _vq_quantlist__44c5_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c5_s_p1_0[] = { +static const char _vq_lengthlist__44c5_s_p1_0[] = { 2, 4, 4, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0, 0, 0, 4, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7418,7 +7418,7 @@ static const long _vq_lengthlist__44c5_s_p1_0[] = { static const static_codebook _44c5_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c5_s_p1_0, + (char *)_vq_lengthlist__44c5_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c5_s_p1_0, 0 @@ -7432,7 +7432,7 @@ static const long _vq_quantlist__44c5_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c5_s_p2_0[] = { +static const char _vq_lengthlist__44c5_s_p2_0[] = { 2, 4, 4, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 8, 7, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 8, 8, 0, 0, 0, 8, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0, @@ -7477,7 +7477,7 @@ static const long _vq_lengthlist__44c5_s_p2_0[] = { static const static_codebook _44c5_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c5_s_p2_0, + (char *)_vq_lengthlist__44c5_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c5_s_p2_0, 0 @@ -7491,7 +7491,7 @@ static const long _vq_quantlist__44c5_s_p3_0[] = { 4, }; -static const long _vq_lengthlist__44c5_s_p3_0[] = { +static const char _vq_lengthlist__44c5_s_p3_0[] = { 2, 4, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7536,7 +7536,7 @@ static const long _vq_lengthlist__44c5_s_p3_0[] = { static const static_codebook _44c5_s_p3_0 = { 4, 625, - (long *)_vq_lengthlist__44c5_s_p3_0, + (char *)_vq_lengthlist__44c5_s_p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c5_s_p3_0, 0 @@ -7554,7 +7554,7 @@ static const long _vq_quantlist__44c5_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c5_s_p4_0[] = { +static const char _vq_lengthlist__44c5_s_p4_0[] = { 2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, @@ -7565,7 +7565,7 @@ static const long _vq_lengthlist__44c5_s_p4_0[] = { static const static_codebook _44c5_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c5_s_p4_0, + (char *)_vq_lengthlist__44c5_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c5_s_p4_0, 0 @@ -7583,7 +7583,7 @@ static const long _vq_quantlist__44c5_s_p5_0[] = { 8, }; -static const long _vq_lengthlist__44c5_s_p5_0[] = { +static const char _vq_lengthlist__44c5_s_p5_0[] = { 2, 4, 3, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 6, 7, 7, 9, 9, 0, 0, 0, @@ -7594,7 +7594,7 @@ static const long _vq_lengthlist__44c5_s_p5_0[] = { static const static_codebook _44c5_s_p5_0 = { 2, 81, - (long *)_vq_lengthlist__44c5_s_p5_0, + (char *)_vq_lengthlist__44c5_s_p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c5_s_p5_0, 0 @@ -7620,7 +7620,7 @@ static const long _vq_quantlist__44c5_s_p6_0[] = { 16, }; -static const long _vq_lengthlist__44c5_s_p6_0[] = { +static const char _vq_lengthlist__44c5_s_p6_0[] = { 2, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10,11, 11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11, 12,12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11, @@ -7644,7 +7644,7 @@ static const long _vq_lengthlist__44c5_s_p6_0[] = { static const static_codebook _44c5_s_p6_0 = { 2, 289, - (long *)_vq_lengthlist__44c5_s_p6_0, + (char *)_vq_lengthlist__44c5_s_p6_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c5_s_p6_0, 0 @@ -7656,7 +7656,7 @@ static const long _vq_quantlist__44c5_s_p7_0[] = { 2, }; -static const long _vq_lengthlist__44c5_s_p7_0[] = { +static const char _vq_lengthlist__44c5_s_p7_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11, 10,11,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -7667,7 +7667,7 @@ static const long _vq_lengthlist__44c5_s_p7_0[] = { static const static_codebook _44c5_s_p7_0 = { 4, 81, - (long *)_vq_lengthlist__44c5_s_p7_0, + (char *)_vq_lengthlist__44c5_s_p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c5_s_p7_0, 0 @@ -7687,7 +7687,7 @@ static const long _vq_quantlist__44c5_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c5_s_p7_1[] = { +static const char _vq_lengthlist__44c5_s_p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -7700,7 +7700,7 @@ static const long _vq_lengthlist__44c5_s_p7_1[] = { static const static_codebook _44c5_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c5_s_p7_1, + (char *)_vq_lengthlist__44c5_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c5_s_p7_1, 0 @@ -7722,7 +7722,7 @@ static const long _vq_quantlist__44c5_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c5_s_p8_0[] = { +static const char _vq_lengthlist__44c5_s_p8_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 8, 8, 8, 9,10,10,10,10, 7, 5, 5, 7, 7, 8, 8, 9, 9,10,10,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -7738,7 +7738,7 @@ static const long _vq_lengthlist__44c5_s_p8_0[] = { static const static_codebook _44c5_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c5_s_p8_0, + (char *)_vq_lengthlist__44c5_s_p8_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c5_s_p8_0, 0 @@ -7752,14 +7752,14 @@ static const long _vq_quantlist__44c5_s_p8_1[] = { 4, }; -static const long _vq_lengthlist__44c5_s_p8_1[] = { +static const char _vq_lengthlist__44c5_s_p8_1[] = { 2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c5_s_p8_1 = { 2, 25, - (long *)_vq_lengthlist__44c5_s_p8_1, + (char *)_vq_lengthlist__44c5_s_p8_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c5_s_p8_1, 0 @@ -7783,7 +7783,7 @@ static const long _vq_quantlist__44c5_s_p9_0[] = { 14, }; -static const long _vq_lengthlist__44c5_s_p9_0[] = { +static const char _vq_lengthlist__44c5_s_p9_0[] = { 1, 3, 3,13,13,13,13,13,13,13,13,13,13,13,13, 4, 7, 7,13,13,13,13,13,13,13,13,13,13,13,13, 3, 8, 6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, @@ -7803,7 +7803,7 @@ static const long _vq_lengthlist__44c5_s_p9_0[] = { static const static_codebook _44c5_s_p9_0 = { 2, 225, - (long *)_vq_lengthlist__44c5_s_p9_0, + (char *)_vq_lengthlist__44c5_s_p9_0, 1, -512522752, 1628852224, 4, 0, (long *)_vq_quantlist__44c5_s_p9_0, 0 @@ -7829,7 +7829,7 @@ static const long _vq_quantlist__44c5_s_p9_1[] = { 16, }; -static const long _vq_lengthlist__44c5_s_p9_1[] = { +static const char _vq_lengthlist__44c5_s_p9_1[] = { 1, 4, 4, 5, 5, 7, 7, 9, 8,10, 9,10,10,11,10,11, 11, 6, 5, 5, 7, 7, 8, 9,10,10,11,10,12,11,12,11, 13,12, 6, 5, 5, 7, 7, 9, 9,10,10,11,11,12,12,13, @@ -7853,7 +7853,7 @@ static const long _vq_lengthlist__44c5_s_p9_1[] = { static const static_codebook _44c5_s_p9_1 = { 2, 289, - (long *)_vq_lengthlist__44c5_s_p9_1, + (char *)_vq_lengthlist__44c5_s_p9_1, 1, -520814592, 1620377600, 5, 0, (long *)_vq_quantlist__44c5_s_p9_1, 0 @@ -7883,7 +7883,7 @@ static const long _vq_quantlist__44c5_s_p9_2[] = { 20, }; -static const long _vq_lengthlist__44c5_s_p9_2[] = { +static const char _vq_lengthlist__44c5_s_p9_2[] = { 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,11, 5, 6, 7, 7, 8, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11, 5, 5, 7, 7, 7, @@ -7916,13 +7916,13 @@ static const long _vq_lengthlist__44c5_s_p9_2[] = { static const static_codebook _44c5_s_p9_2 = { 2, 441, - (long *)_vq_lengthlist__44c5_s_p9_2, + (char *)_vq_lengthlist__44c5_s_p9_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c5_s_p9_2, 0 }; -static const long _huff_lengthlist__44c5_s_short[] = { +static const char _huff_lengthlist__44c5_s_short[] = { 5, 8,10,14,11,11,12,16,15,17, 5, 5, 7, 9, 7, 8, 10,13,17,17, 7, 5, 5,10, 5, 7, 8,11,13,15,10, 8, 10, 8, 8, 8,11,15,18,18, 8, 5, 5, 8, 3, 4, 6,10, @@ -7934,13 +7934,13 @@ static const long _huff_lengthlist__44c5_s_short[] = { static const static_codebook _huff_book__44c5_s_short = { 2, 100, - (long *)_huff_lengthlist__44c5_s_short, + (char *)_huff_lengthlist__44c5_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c6_s_long[] = { +static const char _huff_lengthlist__44c6_s_long[] = { 3, 8,11,13,14,14,13,13,16,14, 6, 3, 4, 7, 9, 9, 10,11,14,13,10, 4, 3, 5, 7, 7, 9,10,13,15,12, 7, 4, 4, 6, 6, 8,10,13,15,12, 8, 6, 6, 6, 6, 8,10, @@ -7952,7 +7952,7 @@ static const long _huff_lengthlist__44c6_s_long[] = { static const static_codebook _huff_book__44c6_s_long = { 2, 100, - (long *)_huff_lengthlist__44c6_s_long, + (char *)_huff_lengthlist__44c6_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -7964,7 +7964,7 @@ static const long _vq_quantlist__44c6_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c6_s_p1_0[] = { +static const char _vq_lengthlist__44c6_s_p1_0[] = { 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 9, 0, 9, 8, 5, 7, 8, 0, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9, @@ -7974,7 +7974,7 @@ static const long _vq_lengthlist__44c6_s_p1_0[] = { }; static const static_codebook _44c6_s_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44c6_s_p1_0, + (char *)_vq_lengthlist__44c6_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c6_s_p1_0, 0 @@ -7988,7 +7988,7 @@ static const long _vq_quantlist__44c6_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c6_s_p2_0[] = { +static const char _vq_lengthlist__44c6_s_p2_0[] = { 3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8, 8,10,10, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0, @@ -8033,7 +8033,7 @@ static const long _vq_lengthlist__44c6_s_p2_0[] = { static const static_codebook _44c6_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c6_s_p2_0, + (char *)_vq_lengthlist__44c6_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c6_s_p2_0, 0 @@ -8051,7 +8051,7 @@ static const long _vq_quantlist__44c6_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c6_s_p3_0[] = { +static const char _vq_lengthlist__44c6_s_p3_0[] = { 2, 3, 4, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9,10, 0, 4, 4, 6, 6, 7, 7,10, 9, 0, 5, 5, 7, 7, 8, 8,10,10, 0, 0, 0, 7, 6, 8, 8,10,10, 0, 0, 0, @@ -8062,7 +8062,7 @@ static const long _vq_lengthlist__44c6_s_p3_0[] = { static const static_codebook _44c6_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c6_s_p3_0, + (char *)_vq_lengthlist__44c6_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c6_s_p3_0, 0 @@ -8088,7 +8088,7 @@ static const long _vq_quantlist__44c6_s_p4_0[] = { 16, }; -static const long _vq_lengthlist__44c6_s_p4_0[] = { +static const char _vq_lengthlist__44c6_s_p4_0[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9,10,10, 10, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10, 11,11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10, @@ -8112,7 +8112,7 @@ static const long _vq_lengthlist__44c6_s_p4_0[] = { static const static_codebook _44c6_s_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44c6_s_p4_0, + (char *)_vq_lengthlist__44c6_s_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c6_s_p4_0, 0 @@ -8124,7 +8124,7 @@ static const long _vq_quantlist__44c6_s_p5_0[] = { 2, }; -static const long _vq_lengthlist__44c6_s_p5_0[] = { +static const char _vq_lengthlist__44c6_s_p5_0[] = { 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6, 9, 9,10,10, 10, 9, 4, 6, 6, 9,10, 9,10, 9,10, 6, 9, 9,10,12, 11,10,11,11, 7,10, 9,11,12,12,12,12,12, 7,10,10, @@ -8135,7 +8135,7 @@ static const long _vq_lengthlist__44c6_s_p5_0[] = { static const static_codebook _44c6_s_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44c6_s_p5_0, + (char *)_vq_lengthlist__44c6_s_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c6_s_p5_0, 0 @@ -8155,7 +8155,7 @@ static const long _vq_quantlist__44c6_s_p5_1[] = { 10, }; -static const long _vq_lengthlist__44c6_s_p5_1[] = { +static const char _vq_lengthlist__44c6_s_p5_1[] = { 3, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,11, 6, 6, 6, 6, 8, 8, 8, 8, 9, 9,11,11,11, 6, @@ -8168,7 +8168,7 @@ static const long _vq_lengthlist__44c6_s_p5_1[] = { static const static_codebook _44c6_s_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44c6_s_p5_1, + (char *)_vq_lengthlist__44c6_s_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c6_s_p5_1, 0 @@ -8190,7 +8190,7 @@ static const long _vq_quantlist__44c6_s_p6_0[] = { 12, }; -static const long _vq_lengthlist__44c6_s_p6_0[] = { +static const char _vq_lengthlist__44c6_s_p6_0[] = { 1, 4, 4, 6, 6, 8, 8, 8, 8,10, 9,10,10, 6, 5, 5, 7, 7, 9, 9, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 9, 9,10, 9,11,10,11,11, 0, 6, 6, 7, 7, 9, 9,10,10, @@ -8206,7 +8206,7 @@ static const long _vq_lengthlist__44c6_s_p6_0[] = { static const static_codebook _44c6_s_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44c6_s_p6_0, + (char *)_vq_lengthlist__44c6_s_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c6_s_p6_0, 0 @@ -8220,14 +8220,14 @@ static const long _vq_quantlist__44c6_s_p6_1[] = { 4, }; -static const long _vq_lengthlist__44c6_s_p6_1[] = { +static const char _vq_lengthlist__44c6_s_p6_1[] = { 3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c6_s_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44c6_s_p6_1, + (char *)_vq_lengthlist__44c6_s_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c6_s_p6_1, 0 @@ -8249,7 +8249,7 @@ static const long _vq_quantlist__44c6_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c6_s_p7_0[] = { +static const char _vq_lengthlist__44c6_s_p7_0[] = { 1, 4, 4, 6, 6, 8, 8, 8, 8,10,10,11,10, 6, 5, 5, 7, 7, 8, 8, 9, 9,10,10,12,11, 6, 5, 5, 7, 7, 8, 8, 9, 9,10,10,12,11,21, 7, 7, 7, 7, 9, 9,10,10, @@ -8265,7 +8265,7 @@ static const long _vq_lengthlist__44c6_s_p7_0[] = { static const static_codebook _44c6_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c6_s_p7_0, + (char *)_vq_lengthlist__44c6_s_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44c6_s_p7_0, 0 @@ -8285,7 +8285,7 @@ static const long _vq_quantlist__44c6_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c6_s_p7_1[] = { +static const char _vq_lengthlist__44c6_s_p7_1[] = { 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 9, 5, 5, 6, 6, 7, 7, 7, 7, 8, 7, 8, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 9, 6, 6, 7, 7, 7, 7, 8, 7, 7, 8, 9, 9, 9, 7, @@ -8298,7 +8298,7 @@ static const long _vq_lengthlist__44c6_s_p7_1[] = { static const static_codebook _44c6_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c6_s_p7_1, + (char *)_vq_lengthlist__44c6_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c6_s_p7_1, 0 @@ -8322,7 +8322,7 @@ static const long _vq_quantlist__44c6_s_p8_0[] = { 14, }; -static const long _vq_lengthlist__44c6_s_p8_0[] = { +static const char _vq_lengthlist__44c6_s_p8_0[] = { 1, 4, 4, 7, 7, 8, 8, 7, 7, 8, 7, 9, 8,10, 9, 6, 5, 5, 8, 8, 9, 9, 8, 8, 9, 9,11,10,11,10, 6, 5, 5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11,18, 8, 8, @@ -8342,7 +8342,7 @@ static const long _vq_lengthlist__44c6_s_p8_0[] = { static const static_codebook _44c6_s_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44c6_s_p8_0, + (char *)_vq_lengthlist__44c6_s_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44c6_s_p8_0, 0 @@ -8372,7 +8372,7 @@ static const long _vq_quantlist__44c6_s_p8_1[] = { 20, }; -static const long _vq_lengthlist__44c6_s_p8_1[] = { +static const char _vq_lengthlist__44c6_s_p8_1[] = { 3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, @@ -8405,7 +8405,7 @@ static const long _vq_lengthlist__44c6_s_p8_1[] = { static const static_codebook _44c6_s_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44c6_s_p8_1, + (char *)_vq_lengthlist__44c6_s_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c6_s_p8_1, 0 @@ -8427,7 +8427,7 @@ static const long _vq_quantlist__44c6_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__44c6_s_p9_0[] = { +static const char _vq_lengthlist__44c6_s_p9_0[] = { 1, 3, 3,11,11,11,11,11,11,11,11,11,11, 4, 7, 7, 11,11,11,11,11,11,11,11,11,11, 5, 8, 9,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -8443,7 +8443,7 @@ static const long _vq_lengthlist__44c6_s_p9_0[] = { static const static_codebook _44c6_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__44c6_s_p9_0, + (char *)_vq_lengthlist__44c6_s_p9_0, 1, -511845376, 1630791680, 4, 0, (long *)_vq_quantlist__44c6_s_p9_0, 0 @@ -8465,7 +8465,7 @@ static const long _vq_quantlist__44c6_s_p9_1[] = { 12, }; -static const long _vq_lengthlist__44c6_s_p9_1[] = { +static const char _vq_lengthlist__44c6_s_p9_1[] = { 1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8, 8, 8, 6, 6, 6, 8, 8, 8, 8, 8, 7, 9, 8,10,10, 5, 6, 6, 8, 8, 9, 9, 8, 8,10,10,10,10,16, 9, 9, 9, 9, 9, 9, 9, 8, @@ -8481,7 +8481,7 @@ static const long _vq_lengthlist__44c6_s_p9_1[] = { static const static_codebook _44c6_s_p9_1 = { 2, 169, - (long *)_vq_lengthlist__44c6_s_p9_1, + (char *)_vq_lengthlist__44c6_s_p9_1, 1, -518889472, 1622704128, 4, 0, (long *)_vq_quantlist__44c6_s_p9_1, 0 @@ -8539,7 +8539,7 @@ static const long _vq_quantlist__44c6_s_p9_2[] = { 48, }; -static const long _vq_lengthlist__44c6_s_p9_2[] = { +static const char _vq_lengthlist__44c6_s_p9_2[] = { 2, 4, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -8548,13 +8548,13 @@ static const long _vq_lengthlist__44c6_s_p9_2[] = { static const static_codebook _44c6_s_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44c6_s_p9_2, + (char *)_vq_lengthlist__44c6_s_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44c6_s_p9_2, 0 }; -static const long _huff_lengthlist__44c6_s_short[] = { +static const char _huff_lengthlist__44c6_s_short[] = { 3, 9,11,11,13,14,19,17,17,19, 5, 4, 5, 8,10,10, 13,16,18,19, 7, 4, 4, 5, 8, 9,12,14,17,19, 8, 6, 5, 5, 7, 7,10,13,16,18,10, 8, 7, 6, 5, 5, 8,11, @@ -8566,13 +8566,13 @@ static const long _huff_lengthlist__44c6_s_short[] = { static const static_codebook _huff_book__44c6_s_short = { 2, 100, - (long *)_huff_lengthlist__44c6_s_short, + (char *)_huff_lengthlist__44c6_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c7_s_long[] = { +static const char _huff_lengthlist__44c7_s_long[] = { 3, 8,11,13,15,14,14,13,15,14, 6, 4, 5, 7, 9,10, 11,11,14,13,10, 4, 3, 5, 7, 8, 9,10,13,13,12, 7, 4, 4, 5, 6, 8, 9,12,14,13, 9, 6, 5, 5, 6, 8, 9, @@ -8584,7 +8584,7 @@ static const long _huff_lengthlist__44c7_s_long[] = { static const static_codebook _huff_book__44c7_s_long = { 2, 100, - (long *)_huff_lengthlist__44c7_s_long, + (char *)_huff_lengthlist__44c7_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -8596,7 +8596,7 @@ static const long _vq_quantlist__44c7_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c7_s_p1_0[] = { +static const char _vq_lengthlist__44c7_s_p1_0[] = { 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 9, 0, 9, 8, 5, 7, 8, 0, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 9, 0, 8, 8, 0, 8, 8, 5, 8, 9, @@ -8607,7 +8607,7 @@ static const long _vq_lengthlist__44c7_s_p1_0[] = { static const static_codebook _44c7_s_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44c7_s_p1_0, + (char *)_vq_lengthlist__44c7_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c7_s_p1_0, 0 @@ -8621,7 +8621,7 @@ static const long _vq_quantlist__44c7_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c7_s_p2_0[] = { +static const char _vq_lengthlist__44c7_s_p2_0[] = { 3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8, 8,10,10, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0, @@ -8666,7 +8666,7 @@ static const long _vq_lengthlist__44c7_s_p2_0[] = { static const static_codebook _44c7_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c7_s_p2_0, + (char *)_vq_lengthlist__44c7_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c7_s_p2_0, 0 @@ -8684,7 +8684,7 @@ static const long _vq_quantlist__44c7_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c7_s_p3_0[] = { +static const char _vq_lengthlist__44c7_s_p3_0[] = { 2, 4, 4, 5, 5, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6, 8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0, @@ -8695,7 +8695,7 @@ static const long _vq_lengthlist__44c7_s_p3_0[] = { static const static_codebook _44c7_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c7_s_p3_0, + (char *)_vq_lengthlist__44c7_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c7_s_p3_0, 0 @@ -8721,7 +8721,7 @@ static const long _vq_quantlist__44c7_s_p4_0[] = { 16, }; -static const long _vq_lengthlist__44c7_s_p4_0[] = { +static const char _vq_lengthlist__44c7_s_p4_0[] = { 3, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11, 12,12, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, @@ -8745,7 +8745,7 @@ static const long _vq_lengthlist__44c7_s_p4_0[] = { static const static_codebook _44c7_s_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44c7_s_p4_0, + (char *)_vq_lengthlist__44c7_s_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c7_s_p4_0, 0 @@ -8757,7 +8757,7 @@ static const long _vq_quantlist__44c7_s_p5_0[] = { 2, }; -static const long _vq_lengthlist__44c7_s_p5_0[] = { +static const char _vq_lengthlist__44c7_s_p5_0[] = { 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 7,10,10,10,10, 10, 9, 4, 6, 6,10,10,10,10, 9,10, 5,10,10, 9,11, 12,10,11,12, 7,10,10,11,12,12,12,12,12, 7,10,10, @@ -8768,7 +8768,7 @@ static const long _vq_lengthlist__44c7_s_p5_0[] = { static const static_codebook _44c7_s_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44c7_s_p5_0, + (char *)_vq_lengthlist__44c7_s_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c7_s_p5_0, 0 @@ -8788,7 +8788,7 @@ static const long _vq_quantlist__44c7_s_p5_1[] = { 10, }; -static const long _vq_lengthlist__44c7_s_p5_1[] = { +static const char _vq_lengthlist__44c7_s_p5_1[] = { 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,11, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,12, 5, 5, 6, 6, 7, 7, 9, 9, 9, 9,12,12,12, 6, @@ -8801,7 +8801,7 @@ static const long _vq_lengthlist__44c7_s_p5_1[] = { static const static_codebook _44c7_s_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44c7_s_p5_1, + (char *)_vq_lengthlist__44c7_s_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c7_s_p5_1, 0 @@ -8823,7 +8823,7 @@ static const long _vq_quantlist__44c7_s_p6_0[] = { 12, }; -static const long _vq_lengthlist__44c7_s_p6_0[] = { +static const char _vq_lengthlist__44c7_s_p6_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 7, 9, 8,10,10, 6, 5, 5, 7, 7, 8, 8, 9, 9, 9,10,11,11, 7, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11, 0, 7, 7, 7, 7, 9, 8, 9, 9, @@ -8839,7 +8839,7 @@ static const long _vq_lengthlist__44c7_s_p6_0[] = { static const static_codebook _44c7_s_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44c7_s_p6_0, + (char *)_vq_lengthlist__44c7_s_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c7_s_p6_0, 0 @@ -8853,14 +8853,14 @@ static const long _vq_quantlist__44c7_s_p6_1[] = { 4, }; -static const long _vq_lengthlist__44c7_s_p6_1[] = { +static const char _vq_lengthlist__44c7_s_p6_1[] = { 3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c7_s_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44c7_s_p6_1, + (char *)_vq_lengthlist__44c7_s_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c7_s_p6_1, 0 @@ -8882,7 +8882,7 @@ static const long _vq_quantlist__44c7_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c7_s_p7_0[] = { +static const char _vq_lengthlist__44c7_s_p7_0[] = { 1, 4, 4, 6, 6, 7, 8, 9, 9,10,10,12,11, 6, 5, 5, 7, 7, 8, 8, 9,10,11,11,12,12, 7, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12,20, 7, 7, 7, 7, 8, 9,10,10, @@ -8898,7 +8898,7 @@ static const long _vq_lengthlist__44c7_s_p7_0[] = { static const static_codebook _44c7_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c7_s_p7_0, + (char *)_vq_lengthlist__44c7_s_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44c7_s_p7_0, 0 @@ -8918,7 +8918,7 @@ static const long _vq_quantlist__44c7_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c7_s_p7_1[] = { +static const char _vq_lengthlist__44c7_s_p7_1[] = { 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7, @@ -8931,7 +8931,7 @@ static const long _vq_lengthlist__44c7_s_p7_1[] = { static const static_codebook _44c7_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c7_s_p7_1, + (char *)_vq_lengthlist__44c7_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c7_s_p7_1, 0 @@ -8955,7 +8955,7 @@ static const long _vq_quantlist__44c7_s_p8_0[] = { 14, }; -static const long _vq_lengthlist__44c7_s_p8_0[] = { +static const char _vq_lengthlist__44c7_s_p8_0[] = { 1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 9, 9, 8, 8,10, 9,11,10,12,11, 6, 5, 5, 8, 7, 9, 9, 8, 8,10,10,11,11,12,11,19, 8, 8, @@ -8975,7 +8975,7 @@ static const long _vq_lengthlist__44c7_s_p8_0[] = { static const static_codebook _44c7_s_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44c7_s_p8_0, + (char *)_vq_lengthlist__44c7_s_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44c7_s_p8_0, 0 @@ -9005,7 +9005,7 @@ static const long _vq_quantlist__44c7_s_p8_1[] = { 20, }; -static const long _vq_lengthlist__44c7_s_p8_1[] = { +static const char _vq_lengthlist__44c7_s_p8_1[] = { 3, 5, 5, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, @@ -9038,7 +9038,7 @@ static const long _vq_lengthlist__44c7_s_p8_1[] = { static const static_codebook _44c7_s_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44c7_s_p8_1, + (char *)_vq_lengthlist__44c7_s_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c7_s_p8_1, 0 @@ -9060,7 +9060,7 @@ static const long _vq_quantlist__44c7_s_p9_0[] = { 12, }; -static const long _vq_lengthlist__44c7_s_p9_0[] = { +static const char _vq_lengthlist__44c7_s_p9_0[] = { 1, 3, 3,11,11,11,11,11,11,11,11,11,11, 4, 6, 6, 11,11,11,11,11,11,11,11,11,11, 4, 7, 7,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -9076,7 +9076,7 @@ static const long _vq_lengthlist__44c7_s_p9_0[] = { static const static_codebook _44c7_s_p9_0 = { 2, 169, - (long *)_vq_lengthlist__44c7_s_p9_0, + (char *)_vq_lengthlist__44c7_s_p9_0, 1, -511845376, 1630791680, 4, 0, (long *)_vq_quantlist__44c7_s_p9_0, 0 @@ -9098,7 +9098,7 @@ static const long _vq_quantlist__44c7_s_p9_1[] = { 12, }; -static const long _vq_lengthlist__44c7_s_p9_1[] = { +static const char _vq_lengthlist__44c7_s_p9_1[] = { 1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8, 8, 8, 6, 6, 6, 8, 8, 9, 8, 8, 7, 9, 8,11,10, 5, 6, 6, 8, 8, 9, 8, 8, 8,10, 9,11,11,16, 8, 8, 9, 8, 9, 9, 9, 8, @@ -9114,7 +9114,7 @@ static const long _vq_lengthlist__44c7_s_p9_1[] = { static const static_codebook _44c7_s_p9_1 = { 2, 169, - (long *)_vq_lengthlist__44c7_s_p9_1, + (char *)_vq_lengthlist__44c7_s_p9_1, 1, -518889472, 1622704128, 4, 0, (long *)_vq_quantlist__44c7_s_p9_1, 0 @@ -9172,7 +9172,7 @@ static const long _vq_quantlist__44c7_s_p9_2[] = { 48, }; -static const long _vq_lengthlist__44c7_s_p9_2[] = { +static const char _vq_lengthlist__44c7_s_p9_2[] = { 2, 4, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -9181,13 +9181,13 @@ static const long _vq_lengthlist__44c7_s_p9_2[] = { static const static_codebook _44c7_s_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44c7_s_p9_2, + (char *)_vq_lengthlist__44c7_s_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44c7_s_p9_2, 0 }; -static const long _huff_lengthlist__44c7_s_short[] = { +static const char _huff_lengthlist__44c7_s_short[] = { 4,11,12,14,15,15,17,17,18,18, 5, 6, 6, 8, 9,10, 13,17,18,19, 7, 5, 4, 6, 8, 9,11,15,19,19, 8, 6, 5, 5, 6, 7,11,14,16,17, 9, 7, 7, 6, 7, 7,10,13, @@ -9199,13 +9199,13 @@ static const long _huff_lengthlist__44c7_s_short[] = { static const static_codebook _huff_book__44c7_s_short = { 2, 100, - (long *)_huff_lengthlist__44c7_s_short, + (char *)_huff_lengthlist__44c7_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c8_s_long[] = { +static const char _huff_lengthlist__44c8_s_long[] = { 3, 8,12,13,14,14,14,13,14,14, 6, 4, 5, 8,10,10, 11,11,14,13, 9, 5, 4, 5, 7, 8, 9,10,13,13,12, 7, 5, 4, 5, 6, 8, 9,12,13,13, 9, 6, 5, 5, 5, 7, 9, @@ -9217,7 +9217,7 @@ static const long _huff_lengthlist__44c8_s_long[] = { static const static_codebook _huff_book__44c8_s_long = { 2, 100, - (long *)_huff_lengthlist__44c8_s_long, + (char *)_huff_lengthlist__44c8_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -9229,7 +9229,7 @@ static const long _vq_quantlist__44c8_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c8_s_p1_0[] = { +static const char _vq_lengthlist__44c8_s_p1_0[] = { 1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 7, 7, 0, 9, 8, 0, 9, 8, 6, 7, 7, 0, 8, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9, @@ -9240,7 +9240,7 @@ static const long _vq_lengthlist__44c8_s_p1_0[] = { static const static_codebook _44c8_s_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44c8_s_p1_0, + (char *)_vq_lengthlist__44c8_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c8_s_p1_0, 0 @@ -9254,7 +9254,7 @@ static const long _vq_quantlist__44c8_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c8_s_p2_0[] = { +static const char _vq_lengthlist__44c8_s_p2_0[] = { 3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8, 7,10, 9, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0, @@ -9299,7 +9299,7 @@ static const long _vq_lengthlist__44c8_s_p2_0[] = { static const static_codebook _44c8_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c8_s_p2_0, + (char *)_vq_lengthlist__44c8_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c8_s_p2_0, 0 @@ -9317,7 +9317,7 @@ static const long _vq_quantlist__44c8_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c8_s_p3_0[] = { +static const char _vq_lengthlist__44c8_s_p3_0[] = { 2, 4, 4, 5, 5, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6, 8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0, @@ -9328,7 +9328,7 @@ static const long _vq_lengthlist__44c8_s_p3_0[] = { static const static_codebook _44c8_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c8_s_p3_0, + (char *)_vq_lengthlist__44c8_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c8_s_p3_0, 0 @@ -9354,7 +9354,7 @@ static const long _vq_quantlist__44c8_s_p4_0[] = { 16, }; -static const long _vq_lengthlist__44c8_s_p4_0[] = { +static const char _vq_lengthlist__44c8_s_p4_0[] = { 3, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 8,10,10,11,11, 11,11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, @@ -9378,7 +9378,7 @@ static const long _vq_lengthlist__44c8_s_p4_0[] = { static const static_codebook _44c8_s_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44c8_s_p4_0, + (char *)_vq_lengthlist__44c8_s_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c8_s_p4_0, 0 @@ -9390,7 +9390,7 @@ static const long _vq_quantlist__44c8_s_p5_0[] = { 2, }; -static const long _vq_lengthlist__44c8_s_p5_0[] = { +static const char _vq_lengthlist__44c8_s_p5_0[] = { 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 7, 6,10,10,10,10, 10,10, 4, 6, 6,10,10,10,10, 9,10, 5,10,10, 9,11, 11,10,11,11, 7,10,10,11,12,12,12,12,12, 7,10,10, @@ -9401,7 +9401,7 @@ static const long _vq_lengthlist__44c8_s_p5_0[] = { static const static_codebook _44c8_s_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44c8_s_p5_0, + (char *)_vq_lengthlist__44c8_s_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c8_s_p5_0, 0 @@ -9421,7 +9421,7 @@ static const long _vq_quantlist__44c8_s_p5_1[] = { 10, }; -static const long _vq_lengthlist__44c8_s_p5_1[] = { +static const char _vq_lengthlist__44c8_s_p5_1[] = { 3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 5, 6, 6, 7, 7, 8, 8, 8, 8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9,12, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,12,12,12, 6, @@ -9434,7 +9434,7 @@ static const long _vq_lengthlist__44c8_s_p5_1[] = { static const static_codebook _44c8_s_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44c8_s_p5_1, + (char *)_vq_lengthlist__44c8_s_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c8_s_p5_1, 0 @@ -9456,7 +9456,7 @@ static const long _vq_quantlist__44c8_s_p6_0[] = { 12, }; -static const long _vq_lengthlist__44c8_s_p6_0[] = { +static const char _vq_lengthlist__44c8_s_p6_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 8, 8, 9, 9,10,10,11,11, 0, 7, 7, 7, 7, 9, 9,10,10, @@ -9472,7 +9472,7 @@ static const long _vq_lengthlist__44c8_s_p6_0[] = { static const static_codebook _44c8_s_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44c8_s_p6_0, + (char *)_vq_lengthlist__44c8_s_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c8_s_p6_0, 0 @@ -9486,14 +9486,14 @@ static const long _vq_quantlist__44c8_s_p6_1[] = { 4, }; -static const long _vq_lengthlist__44c8_s_p6_1[] = { +static const char _vq_lengthlist__44c8_s_p6_1[] = { 3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c8_s_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44c8_s_p6_1, + (char *)_vq_lengthlist__44c8_s_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c8_s_p6_1, 0 @@ -9515,7 +9515,7 @@ static const long _vq_quantlist__44c8_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c8_s_p7_0[] = { +static const char _vq_lengthlist__44c8_s_p7_0[] = { 1, 4, 4, 6, 6, 8, 7, 9, 9,10,10,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12, 7, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12,21, 7, 7, 7, 7, 8, 9,10,10, @@ -9531,7 +9531,7 @@ static const long _vq_lengthlist__44c8_s_p7_0[] = { static const static_codebook _44c8_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c8_s_p7_0, + (char *)_vq_lengthlist__44c8_s_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44c8_s_p7_0, 0 @@ -9551,7 +9551,7 @@ static const long _vq_quantlist__44c8_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c8_s_p7_1[] = { +static const char _vq_lengthlist__44c8_s_p7_1[] = { 4, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7, @@ -9564,7 +9564,7 @@ static const long _vq_lengthlist__44c8_s_p7_1[] = { static const static_codebook _44c8_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c8_s_p7_1, + (char *)_vq_lengthlist__44c8_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c8_s_p7_1, 0 @@ -9588,7 +9588,7 @@ static const long _vq_quantlist__44c8_s_p8_0[] = { 14, }; -static const long _vq_lengthlist__44c8_s_p8_0[] = { +static const char _vq_lengthlist__44c8_s_p8_0[] = { 1, 4, 4, 7, 6, 8, 8, 8, 7, 9, 8,10,10,11,10, 6, 5, 5, 7, 7, 9, 9, 8, 8,10,10,11,11,12,11, 6, 5, 5, 7, 7, 9, 9, 9, 9,10,10,11,11,12,12,20, 8, 8, @@ -9608,7 +9608,7 @@ static const long _vq_lengthlist__44c8_s_p8_0[] = { static const static_codebook _44c8_s_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44c8_s_p8_0, + (char *)_vq_lengthlist__44c8_s_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44c8_s_p8_0, 0 @@ -9638,7 +9638,7 @@ static const long _vq_quantlist__44c8_s_p8_1[] = { 20, }; -static const long _vq_lengthlist__44c8_s_p8_1[] = { +static const char _vq_lengthlist__44c8_s_p8_1[] = { 4, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, @@ -9671,7 +9671,7 @@ static const long _vq_lengthlist__44c8_s_p8_1[] = { static const static_codebook _44c8_s_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44c8_s_p8_1, + (char *)_vq_lengthlist__44c8_s_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c8_s_p8_1, 0 @@ -9697,7 +9697,7 @@ static const long _vq_quantlist__44c8_s_p9_0[] = { 16, }; -static const long _vq_lengthlist__44c8_s_p9_0[] = { +static const char _vq_lengthlist__44c8_s_p9_0[] = { 1, 4, 3,11,11,11,11,11,11,11,11,11,11,11,11,11, 11, 4, 7, 7,11,11,11,11,11,11,11,11,11,11,11,11, 11,11, 4, 8,11,11,11,11,11,11,11,11,11,11,11,11, @@ -9721,7 +9721,7 @@ static const long _vq_lengthlist__44c8_s_p9_0[] = { static const static_codebook _44c8_s_p9_0 = { 2, 289, - (long *)_vq_lengthlist__44c8_s_p9_0, + (char *)_vq_lengthlist__44c8_s_p9_0, 1, -509798400, 1631393792, 5, 0, (long *)_vq_quantlist__44c8_s_p9_0, 0 @@ -9749,7 +9749,7 @@ static const long _vq_quantlist__44c8_s_p9_1[] = { 18, }; -static const long _vq_lengthlist__44c8_s_p9_1[] = { +static const char _vq_lengthlist__44c8_s_p9_1[] = { 1, 4, 4, 7, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,10,10, 10,11,11, 6, 6, 6, 8, 8, 9, 8, 8, 7,10, 8,11,10, 12,11,12,12,13,13, 5, 5, 6, 8, 8, 9, 9, 8, 8,10, @@ -9777,7 +9777,7 @@ static const long _vq_lengthlist__44c8_s_p9_1[] = { static const static_codebook _44c8_s_p9_1 = { 2, 361, - (long *)_vq_lengthlist__44c8_s_p9_1, + (char *)_vq_lengthlist__44c8_s_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__44c8_s_p9_1, 0 @@ -9835,7 +9835,7 @@ static const long _vq_quantlist__44c8_s_p9_2[] = { 48, }; -static const long _vq_lengthlist__44c8_s_p9_2[] = { +static const char _vq_lengthlist__44c8_s_p9_2[] = { 2, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -9844,13 +9844,13 @@ static const long _vq_lengthlist__44c8_s_p9_2[] = { static const static_codebook _44c8_s_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44c8_s_p9_2, + (char *)_vq_lengthlist__44c8_s_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44c8_s_p9_2, 0 }; -static const long _huff_lengthlist__44c8_s_short[] = { +static const char _huff_lengthlist__44c8_s_short[] = { 4,11,13,14,15,15,18,17,19,17, 5, 6, 8, 9,10,10, 12,15,19,19, 6, 6, 6, 6, 8, 8,11,14,18,19, 8, 6, 5, 4, 6, 7,10,13,16,17, 9, 7, 6, 5, 6, 7, 9,12, @@ -9862,13 +9862,13 @@ static const long _huff_lengthlist__44c8_s_short[] = { static const static_codebook _huff_book__44c8_s_short = { 2, 100, - (long *)_huff_lengthlist__44c8_s_short, + (char *)_huff_lengthlist__44c8_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c9_s_long[] = { +static const char _huff_lengthlist__44c9_s_long[] = { 3, 8,12,14,15,15,15,13,15,15, 6, 5, 8,10,12,12, 13,12,14,13,10, 6, 5, 6, 8, 9,11,11,13,13,13, 8, 5, 4, 5, 6, 8,10,11,13,14,10, 7, 5, 4, 5, 7, 9, @@ -9880,7 +9880,7 @@ static const long _huff_lengthlist__44c9_s_long[] = { static const static_codebook _huff_book__44c9_s_long = { 2, 100, - (long *)_huff_lengthlist__44c9_s_long, + (char *)_huff_lengthlist__44c9_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -9892,7 +9892,7 @@ static const long _vq_quantlist__44c9_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c9_s_p1_0[] = { +static const char _vq_lengthlist__44c9_s_p1_0[] = { 1, 5, 5, 0, 5, 5, 0, 5, 5, 6, 8, 8, 0, 9, 8, 0, 9, 8, 6, 8, 8, 0, 8, 9, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 8, 0, 7, 7, 0, 8, 8, 5, 8, 8, @@ -9903,7 +9903,7 @@ static const long _vq_lengthlist__44c9_s_p1_0[] = { static const static_codebook _44c9_s_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44c9_s_p1_0, + (char *)_vq_lengthlist__44c9_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c9_s_p1_0, 0 @@ -9917,7 +9917,7 @@ static const long _vq_quantlist__44c9_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c9_s_p2_0[] = { +static const char _vq_lengthlist__44c9_s_p2_0[] = { 3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 7, 7, 9, 9, 0, 0, 0, 9, 9, 6, 7, 7, 9, 8, 0, 8, 8, 9, 9, 0, 8, 7, 9, 9, 0, 9,10,10,10, 0, 0, 0, @@ -9962,7 +9962,7 @@ static const long _vq_lengthlist__44c9_s_p2_0[] = { static const static_codebook _44c9_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c9_s_p2_0, + (char *)_vq_lengthlist__44c9_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c9_s_p2_0, 0 @@ -9980,7 +9980,7 @@ static const long _vq_quantlist__44c9_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c9_s_p3_0[] = { +static const char _vq_lengthlist__44c9_s_p3_0[] = { 3, 4, 4, 5, 5, 6, 6, 8, 8, 0, 4, 4, 5, 5, 6, 7, 8, 8, 0, 4, 4, 5, 5, 7, 7, 8, 8, 0, 5, 5, 6, 6, 7, 7, 9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0, @@ -9991,7 +9991,7 @@ static const long _vq_lengthlist__44c9_s_p3_0[] = { static const static_codebook _44c9_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c9_s_p3_0, + (char *)_vq_lengthlist__44c9_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c9_s_p3_0, 0 @@ -10017,7 +10017,7 @@ static const long _vq_quantlist__44c9_s_p4_0[] = { 16, }; -static const long _vq_lengthlist__44c9_s_p4_0[] = { +static const char _vq_lengthlist__44c9_s_p4_0[] = { 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,10, 10, 0, 5, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 11,11, 0, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10, @@ -10041,7 +10041,7 @@ static const long _vq_lengthlist__44c9_s_p4_0[] = { static const static_codebook _44c9_s_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44c9_s_p4_0, + (char *)_vq_lengthlist__44c9_s_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c9_s_p4_0, 0 @@ -10053,7 +10053,7 @@ static const long _vq_quantlist__44c9_s_p5_0[] = { 2, }; -static const long _vq_lengthlist__44c9_s_p5_0[] = { +static const char _vq_lengthlist__44c9_s_p5_0[] = { 1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 7, 6, 9,10,10,10, 10, 9, 4, 6, 7, 9,10,10,10, 9,10, 5, 9, 9, 9,11, 11,10,11,11, 7,10, 9,11,12,11,12,12,12, 7, 9,10, @@ -10064,7 +10064,7 @@ static const long _vq_lengthlist__44c9_s_p5_0[] = { static const static_codebook _44c9_s_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44c9_s_p5_0, + (char *)_vq_lengthlist__44c9_s_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c9_s_p5_0, 0 @@ -10084,7 +10084,7 @@ static const long _vq_quantlist__44c9_s_p5_1[] = { 10, }; -static const long _vq_lengthlist__44c9_s_p5_1[] = { +static const char _vq_lengthlist__44c9_s_p5_1[] = { 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7,11, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8,11, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11, 6, @@ -10097,7 +10097,7 @@ static const long _vq_lengthlist__44c9_s_p5_1[] = { static const static_codebook _44c9_s_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44c9_s_p5_1, + (char *)_vq_lengthlist__44c9_s_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c9_s_p5_1, 0 @@ -10119,7 +10119,7 @@ static const long _vq_quantlist__44c9_s_p6_0[] = { 12, }; -static const long _vq_lengthlist__44c9_s_p6_0[] = { +static const char _vq_lengthlist__44c9_s_p6_0[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 5, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10, 6, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10, 0, 6, 6, 7, 7, 8, 8, 9, 9, @@ -10135,7 +10135,7 @@ static const long _vq_lengthlist__44c9_s_p6_0[] = { static const static_codebook _44c9_s_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44c9_s_p6_0, + (char *)_vq_lengthlist__44c9_s_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c9_s_p6_0, 0 @@ -10149,14 +10149,14 @@ static const long _vq_quantlist__44c9_s_p6_1[] = { 4, }; -static const long _vq_lengthlist__44c9_s_p6_1[] = { +static const char _vq_lengthlist__44c9_s_p6_1[] = { 4, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44c9_s_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44c9_s_p6_1, + (char *)_vq_lengthlist__44c9_s_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c9_s_p6_1, 0 @@ -10178,7 +10178,7 @@ static const long _vq_quantlist__44c9_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c9_s_p7_0[] = { +static const char _vq_lengthlist__44c9_s_p7_0[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8,10,10,11,11, 6, 4, 4, 6, 6, 8, 8, 9, 9,10,10,12,12, 6, 4, 5, 6, 6, 8, 8, 9, 9,10,10,12,12,20, 6, 6, 6, 6, 8, 8, 9,10, @@ -10194,7 +10194,7 @@ static const long _vq_lengthlist__44c9_s_p7_0[] = { static const static_codebook _44c9_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c9_s_p7_0, + (char *)_vq_lengthlist__44c9_s_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44c9_s_p7_0, 0 @@ -10214,7 +10214,7 @@ static const long _vq_quantlist__44c9_s_p7_1[] = { 10, }; -static const long _vq_lengthlist__44c9_s_p7_1[] = { +static const char _vq_lengthlist__44c9_s_p7_1[] = { 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 6, @@ -10227,7 +10227,7 @@ static const long _vq_lengthlist__44c9_s_p7_1[] = { static const static_codebook _44c9_s_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44c9_s_p7_1, + (char *)_vq_lengthlist__44c9_s_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c9_s_p7_1, 0 @@ -10251,7 +10251,7 @@ static const long _vq_quantlist__44c9_s_p8_0[] = { 14, }; -static const long _vq_lengthlist__44c9_s_p8_0[] = { +static const char _vq_lengthlist__44c9_s_p8_0[] = { 1, 4, 4, 7, 6, 8, 8, 8, 8, 9, 9,10,10,11,10, 6, 5, 5, 7, 7, 9, 9, 8, 9,10,10,11,11,12,12, 6, 5, 5, 7, 7, 9, 9, 9, 9,10,10,11,11,12,12,21, 7, 8, @@ -10271,7 +10271,7 @@ static const long _vq_lengthlist__44c9_s_p8_0[] = { static const static_codebook _44c9_s_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44c9_s_p8_0, + (char *)_vq_lengthlist__44c9_s_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44c9_s_p8_0, 0 @@ -10301,7 +10301,7 @@ static const long _vq_quantlist__44c9_s_p8_1[] = { 20, }; -static const long _vq_lengthlist__44c9_s_p8_1[] = { +static const char _vq_lengthlist__44c9_s_p8_1[] = { 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, @@ -10334,7 +10334,7 @@ static const long _vq_lengthlist__44c9_s_p8_1[] = { static const static_codebook _44c9_s_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44c9_s_p8_1, + (char *)_vq_lengthlist__44c9_s_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44c9_s_p8_1, 0 @@ -10362,7 +10362,7 @@ static const long _vq_quantlist__44c9_s_p9_0[] = { 18, }; -static const long _vq_lengthlist__44c9_s_p9_0[] = { +static const char _vq_lengthlist__44c9_s_p9_0[] = { 1, 4, 3,12,12,12,12,12,12,12,12,12,12,12,12,12, 12,12,12, 4, 5, 6,12,12,12,12,12,12,12,12,12,12, 12,12,12,12,12,12, 4, 6, 6,12,12,12,12,12,12,12, @@ -10390,7 +10390,7 @@ static const long _vq_lengthlist__44c9_s_p9_0[] = { static const static_codebook _44c9_s_p9_0 = { 2, 361, - (long *)_vq_lengthlist__44c9_s_p9_0, + (char *)_vq_lengthlist__44c9_s_p9_0, 1, -508535424, 1631393792, 5, 0, (long *)_vq_quantlist__44c9_s_p9_0, 0 @@ -10418,7 +10418,7 @@ static const long _vq_quantlist__44c9_s_p9_1[] = { 18, }; -static const long _vq_lengthlist__44c9_s_p9_1[] = { +static const char _vq_lengthlist__44c9_s_p9_1[] = { 1, 4, 4, 7, 7, 7, 7, 8, 7, 9, 8, 9, 9,10,10,11, 11,11,11, 6, 5, 5, 8, 8, 9, 9, 9, 8,10, 9,11,10, 12,12,13,12,13,13, 5, 5, 5, 8, 8, 9, 9, 9, 9,10, @@ -10446,7 +10446,7 @@ static const long _vq_lengthlist__44c9_s_p9_1[] = { static const static_codebook _44c9_s_p9_1 = { 2, 361, - (long *)_vq_lengthlist__44c9_s_p9_1, + (char *)_vq_lengthlist__44c9_s_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__44c9_s_p9_1, 0 @@ -10504,7 +10504,7 @@ static const long _vq_quantlist__44c9_s_p9_2[] = { 48, }; -static const long _vq_lengthlist__44c9_s_p9_2[] = { +static const char _vq_lengthlist__44c9_s_p9_2[] = { 2, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -10513,13 +10513,13 @@ static const long _vq_lengthlist__44c9_s_p9_2[] = { static const static_codebook _44c9_s_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44c9_s_p9_2, + (char *)_vq_lengthlist__44c9_s_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44c9_s_p9_2, 0 }; -static const long _huff_lengthlist__44c9_s_short[] = { +static const char _huff_lengthlist__44c9_s_short[] = { 5,13,18,16,17,17,19,18,19,19, 5, 7,10,11,12,12, 13,16,17,18, 6, 6, 7, 7, 9, 9,10,14,17,19, 8, 7, 6, 5, 6, 7, 9,12,19,17, 8, 7, 7, 6, 5, 6, 8,11, @@ -10531,13 +10531,13 @@ static const long _huff_lengthlist__44c9_s_short[] = { static const static_codebook _huff_book__44c9_s_short = { 2, 100, - (long *)_huff_lengthlist__44c9_s_short, + (char *)_huff_lengthlist__44c9_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c0_s_long[] = { +static const char _huff_lengthlist__44c0_s_long[] = { 5, 4, 8, 9, 8, 9,10,12,15, 4, 1, 5, 5, 6, 8,11, 12,12, 8, 5, 8, 9, 9,11,13,12,12, 9, 5, 8, 5, 7, 9,12,13,13, 8, 6, 8, 7, 7, 9,11,11,11, 9, 7, 9, @@ -10548,7 +10548,7 @@ static const long _huff_lengthlist__44c0_s_long[] = { static const static_codebook _huff_book__44c0_s_long = { 2, 81, - (long *)_huff_lengthlist__44c0_s_long, + (char *)_huff_lengthlist__44c0_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -10560,7 +10560,7 @@ static const long _vq_quantlist__44c0_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c0_s_p1_0[] = { +static const char _vq_lengthlist__44c0_s_p1_0[] = { 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -10976,7 +10976,7 @@ static const long _vq_lengthlist__44c0_s_p1_0[] = { static const static_codebook _44c0_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c0_s_p1_0, + (char *)_vq_lengthlist__44c0_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c0_s_p1_0, 0 @@ -10990,7 +10990,7 @@ static const long _vq_quantlist__44c0_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c0_s_p2_0[] = { +static const char _vq_lengthlist__44c0_s_p2_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11035,7 +11035,7 @@ static const long _vq_lengthlist__44c0_s_p2_0[] = { static const static_codebook _44c0_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c0_s_p2_0, + (char *)_vq_lengthlist__44c0_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c0_s_p2_0, 0 @@ -11053,7 +11053,7 @@ static const long _vq_quantlist__44c0_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c0_s_p3_0[] = { +static const char _vq_lengthlist__44c0_s_p3_0[] = { 1, 3, 2, 8, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -11064,7 +11064,7 @@ static const long _vq_lengthlist__44c0_s_p3_0[] = { static const static_codebook _44c0_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c0_s_p3_0, + (char *)_vq_lengthlist__44c0_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_s_p3_0, 0 @@ -11082,7 +11082,7 @@ static const long _vq_quantlist__44c0_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c0_s_p4_0[] = { +static const char _vq_lengthlist__44c0_s_p4_0[] = { 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 8, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, @@ -11093,7 +11093,7 @@ static const long _vq_lengthlist__44c0_s_p4_0[] = { static const static_codebook _44c0_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c0_s_p4_0, + (char *)_vq_lengthlist__44c0_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_s_p4_0, 0 @@ -11119,7 +11119,7 @@ static const long _vq_quantlist__44c0_s_p5_0[] = { 16, }; -static const long _vq_lengthlist__44c0_s_p5_0[] = { +static const char _vq_lengthlist__44c0_s_p5_0[] = { 1, 4, 3, 6, 6, 8, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9, 9,10,10,10, 11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, @@ -11143,7 +11143,7 @@ static const long _vq_lengthlist__44c0_s_p5_0[] = { static const static_codebook _44c0_s_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44c0_s_p5_0, + (char *)_vq_lengthlist__44c0_s_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c0_s_p5_0, 0 @@ -11155,7 +11155,7 @@ static const long _vq_quantlist__44c0_s_p6_0[] = { 2, }; -static const long _vq_lengthlist__44c0_s_p6_0[] = { +static const char _vq_lengthlist__44c0_s_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10, 9, 9, 4, 6, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11, 11,12,10,11, 6, 9, 9,11,10,11,11,10,10, 6, 9, 9, @@ -11166,7 +11166,7 @@ static const long _vq_lengthlist__44c0_s_p6_0[] = { static const static_codebook _44c0_s_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44c0_s_p6_0, + (char *)_vq_lengthlist__44c0_s_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c0_s_p6_0, 0 @@ -11186,7 +11186,7 @@ static const long _vq_quantlist__44c0_s_p6_1[] = { 10, }; -static const long _vq_lengthlist__44c0_s_p6_1[] = { +static const char _vq_lengthlist__44c0_s_p6_1[] = { 2, 3, 3, 6, 6, 7, 7, 7, 7, 7, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -11199,7 +11199,7 @@ static const long _vq_lengthlist__44c0_s_p6_1[] = { static const static_codebook _44c0_s_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44c0_s_p6_1, + (char *)_vq_lengthlist__44c0_s_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_s_p6_1, 0 @@ -11221,7 +11221,7 @@ static const long _vq_quantlist__44c0_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c0_s_p7_0[] = { +static const char _vq_lengthlist__44c0_s_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -11237,7 +11237,7 @@ static const long _vq_lengthlist__44c0_s_p7_0[] = { static const static_codebook _44c0_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c0_s_p7_0, + (char *)_vq_lengthlist__44c0_s_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c0_s_p7_0, 0 @@ -11251,14 +11251,14 @@ static const long _vq_quantlist__44c0_s_p7_1[] = { 4, }; -static const long _vq_lengthlist__44c0_s_p7_1[] = { +static const char _vq_lengthlist__44c0_s_p7_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c0_s_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44c0_s_p7_1, + (char *)_vq_lengthlist__44c0_s_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c0_s_p7_1, 0 @@ -11272,7 +11272,7 @@ static const long _vq_quantlist__44c0_s_p8_0[] = { 4, }; -static const long _vq_lengthlist__44c0_s_p8_0[] = { +static const char _vq_lengthlist__44c0_s_p8_0[] = { 1, 5, 5,10,10, 6, 9, 8,10,10, 6,10, 9,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -11317,7 +11317,7 @@ static const long _vq_lengthlist__44c0_s_p8_0[] = { static const static_codebook _44c0_s_p8_0 = { 4, 625, - (long *)_vq_lengthlist__44c0_s_p8_0, + (char *)_vq_lengthlist__44c0_s_p8_0, 1, -518283264, 1627103232, 3, 0, (long *)_vq_quantlist__44c0_s_p8_0, 0 @@ -11339,7 +11339,7 @@ static const long _vq_quantlist__44c0_s_p8_1[] = { 12, }; -static const long _vq_lengthlist__44c0_s_p8_1[] = { +static const char _vq_lengthlist__44c0_s_p8_1[] = { 1, 4, 4, 6, 6, 7, 7, 9, 9,11,12,13,12, 6, 5, 5, 7, 7, 8, 8,10, 9,12,12,12,12, 6, 5, 5, 7, 7, 8, 8,10, 9,12,11,11,13,16, 7, 7, 8, 8, 9, 9,10,10, @@ -11355,7 +11355,7 @@ static const long _vq_lengthlist__44c0_s_p8_1[] = { static const static_codebook _44c0_s_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44c0_s_p8_1, + (char *)_vq_lengthlist__44c0_s_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44c0_s_p8_1, 0 @@ -11381,7 +11381,7 @@ static const long _vq_quantlist__44c0_s_p8_2[] = { 16, }; -static const long _vq_lengthlist__44c0_s_p8_2[] = { +static const char _vq_lengthlist__44c0_s_p8_2[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, @@ -11405,13 +11405,13 @@ static const long _vq_lengthlist__44c0_s_p8_2[] = { static const static_codebook _44c0_s_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44c0_s_p8_2, + (char *)_vq_lengthlist__44c0_s_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c0_s_p8_2, 0 }; -static const long _huff_lengthlist__44c0_s_short[] = { +static const char _huff_lengthlist__44c0_s_short[] = { 9, 8,12,11,12,13,14,14,16, 6, 1, 5, 6, 6, 9,12, 14,17, 9, 4, 5, 9, 7, 9,13,15,16, 8, 5, 8, 6, 8, 10,13,17,17, 9, 6, 7, 7, 8, 9,13,15,17,11, 8, 9, @@ -11422,13 +11422,13 @@ static const long _huff_lengthlist__44c0_s_short[] = { static const static_codebook _huff_book__44c0_s_short = { 2, 81, - (long *)_huff_lengthlist__44c0_s_short, + (char *)_huff_lengthlist__44c0_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c0_sm_long[] = { +static const char _huff_lengthlist__44c0_sm_long[] = { 5, 4, 9,10, 9,10,11,12,13, 4, 1, 5, 7, 7, 9,11, 12,14, 8, 5, 7, 9, 8,10,13,13,13,10, 7, 9, 4, 6, 7,10,12,14, 9, 6, 7, 6, 6, 7,10,12,12, 9, 8, 9, @@ -11439,7 +11439,7 @@ static const long _huff_lengthlist__44c0_sm_long[] = { static const static_codebook _huff_book__44c0_sm_long = { 2, 81, - (long *)_huff_lengthlist__44c0_sm_long, + (char *)_huff_lengthlist__44c0_sm_long, 0, 0, 0, 0, 0, NULL, 0 @@ -11451,7 +11451,7 @@ static const long _vq_quantlist__44c0_sm_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c0_sm_p1_0[] = { +static const char _vq_lengthlist__44c0_sm_p1_0[] = { 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11867,7 +11867,7 @@ static const long _vq_lengthlist__44c0_sm_p1_0[] = { static const static_codebook _44c0_sm_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c0_sm_p1_0, + (char *)_vq_lengthlist__44c0_sm_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c0_sm_p1_0, 0 @@ -11881,7 +11881,7 @@ static const long _vq_quantlist__44c0_sm_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c0_sm_p2_0[] = { +static const char _vq_lengthlist__44c0_sm_p2_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11926,7 +11926,7 @@ static const long _vq_lengthlist__44c0_sm_p2_0[] = { static const static_codebook _44c0_sm_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c0_sm_p2_0, + (char *)_vq_lengthlist__44c0_sm_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c0_sm_p2_0, 0 @@ -11944,7 +11944,7 @@ static const long _vq_quantlist__44c0_sm_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c0_sm_p3_0[] = { +static const char _vq_lengthlist__44c0_sm_p3_0[] = { 1, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 4, 7, 7, 0, 0, 0, 0, 0, 5, 5, 7, 7, 0, 0, 0, 0, 0, 6, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, @@ -11955,7 +11955,7 @@ static const long _vq_lengthlist__44c0_sm_p3_0[] = { static const static_codebook _44c0_sm_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c0_sm_p3_0, + (char *)_vq_lengthlist__44c0_sm_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_sm_p3_0, 0 @@ -11973,7 +11973,7 @@ static const long _vq_quantlist__44c0_sm_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c0_sm_p4_0[] = { +static const char _vq_lengthlist__44c0_sm_p4_0[] = { 1, 4, 3, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 8, 7, 9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0, @@ -11984,7 +11984,7 @@ static const long _vq_lengthlist__44c0_sm_p4_0[] = { static const static_codebook _44c0_sm_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c0_sm_p4_0, + (char *)_vq_lengthlist__44c0_sm_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_sm_p4_0, 0 @@ -12010,7 +12010,7 @@ static const long _vq_quantlist__44c0_sm_p5_0[] = { 16, }; -static const long _vq_lengthlist__44c0_sm_p5_0[] = { +static const char _vq_lengthlist__44c0_sm_p5_0[] = { 1, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,11, 11,11, 0, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, @@ -12034,7 +12034,7 @@ static const long _vq_lengthlist__44c0_sm_p5_0[] = { static const static_codebook _44c0_sm_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44c0_sm_p5_0, + (char *)_vq_lengthlist__44c0_sm_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c0_sm_p5_0, 0 @@ -12046,7 +12046,7 @@ static const long _vq_quantlist__44c0_sm_p6_0[] = { 2, }; -static const long _vq_lengthlist__44c0_sm_p6_0[] = { +static const char _vq_lengthlist__44c0_sm_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11, 11,11,10,10, 6, 9, 9,11,11,10,11,10,10, 6, 9, 9, @@ -12057,7 +12057,7 @@ static const long _vq_lengthlist__44c0_sm_p6_0[] = { static const static_codebook _44c0_sm_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44c0_sm_p6_0, + (char *)_vq_lengthlist__44c0_sm_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c0_sm_p6_0, 0 @@ -12077,7 +12077,7 @@ static const long _vq_quantlist__44c0_sm_p6_1[] = { 10, }; -static const long _vq_lengthlist__44c0_sm_p6_1[] = { +static const char _vq_lengthlist__44c0_sm_p6_1[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 8, 9, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -12090,7 +12090,7 @@ static const long _vq_lengthlist__44c0_sm_p6_1[] = { static const static_codebook _44c0_sm_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44c0_sm_p6_1, + (char *)_vq_lengthlist__44c0_sm_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c0_sm_p6_1, 0 @@ -12112,7 +12112,7 @@ static const long _vq_quantlist__44c0_sm_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c0_sm_p7_0[] = { +static const char _vq_lengthlist__44c0_sm_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -12128,7 +12128,7 @@ static const long _vq_lengthlist__44c0_sm_p7_0[] = { static const static_codebook _44c0_sm_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c0_sm_p7_0, + (char *)_vq_lengthlist__44c0_sm_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c0_sm_p7_0, 0 @@ -12142,14 +12142,14 @@ static const long _vq_quantlist__44c0_sm_p7_1[] = { 4, }; -static const long _vq_lengthlist__44c0_sm_p7_1[] = { +static const char _vq_lengthlist__44c0_sm_p7_1[] = { 2, 4, 4, 4, 4, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c0_sm_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44c0_sm_p7_1, + (char *)_vq_lengthlist__44c0_sm_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c0_sm_p7_1, 0 @@ -12167,7 +12167,7 @@ static const long _vq_quantlist__44c0_sm_p8_0[] = { 8, }; -static const long _vq_lengthlist__44c0_sm_p8_0[] = { +static const char _vq_lengthlist__44c0_sm_p8_0[] = { 1, 3, 3,11,11,11,11,11,11, 3, 7, 6,11,11,11,11, 11,11, 4, 8, 7,11,11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -12178,7 +12178,7 @@ static const long _vq_lengthlist__44c0_sm_p8_0[] = { static const static_codebook _44c0_sm_p8_0 = { 2, 81, - (long *)_vq_lengthlist__44c0_sm_p8_0, + (char *)_vq_lengthlist__44c0_sm_p8_0, 1, -516186112, 1627103232, 4, 0, (long *)_vq_quantlist__44c0_sm_p8_0, 0 @@ -12200,7 +12200,7 @@ static const long _vq_quantlist__44c0_sm_p8_1[] = { 12, }; -static const long _vq_lengthlist__44c0_sm_p8_1[] = { +static const char _vq_lengthlist__44c0_sm_p8_1[] = { 1, 4, 4, 6, 6, 7, 7, 9, 9,10,11,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,12,11,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,12,11,12,12,17, 7, 7, 8, 8, 9, 9,10,10, @@ -12216,7 +12216,7 @@ static const long _vq_lengthlist__44c0_sm_p8_1[] = { static const static_codebook _44c0_sm_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44c0_sm_p8_1, + (char *)_vq_lengthlist__44c0_sm_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44c0_sm_p8_1, 0 @@ -12242,7 +12242,7 @@ static const long _vq_quantlist__44c0_sm_p8_2[] = { 16, }; -static const long _vq_lengthlist__44c0_sm_p8_2[] = { +static const char _vq_lengthlist__44c0_sm_p8_2[] = { 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9, @@ -12266,13 +12266,13 @@ static const long _vq_lengthlist__44c0_sm_p8_2[] = { static const static_codebook _44c0_sm_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44c0_sm_p8_2, + (char *)_vq_lengthlist__44c0_sm_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c0_sm_p8_2, 0 }; -static const long _huff_lengthlist__44c0_sm_short[] = { +static const char _huff_lengthlist__44c0_sm_short[] = { 6, 6,12,13,13,14,16,17,17, 4, 2, 5, 8, 7, 9,12, 15,15, 9, 4, 5, 9, 7, 9,12,16,18,11, 6, 7, 4, 6, 8,11,14,18,10, 5, 6, 5, 5, 7,10,14,17,10, 5, 7, @@ -12283,13 +12283,13 @@ static const long _huff_lengthlist__44c0_sm_short[] = { static const static_codebook _huff_book__44c0_sm_short = { 2, 81, - (long *)_huff_lengthlist__44c0_sm_short, + (char *)_huff_lengthlist__44c0_sm_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c1_s_long[] = { +static const char _huff_lengthlist__44c1_s_long[] = { 5, 5, 9,10, 9, 9,10,11,12, 5, 1, 5, 6, 6, 7,10, 12,14, 9, 5, 6, 8, 8,10,12,14,14,10, 5, 8, 5, 6, 8,11,13,14, 9, 5, 7, 6, 6, 8,10,12,11, 9, 7, 9, @@ -12300,7 +12300,7 @@ static const long _huff_lengthlist__44c1_s_long[] = { static const static_codebook _huff_book__44c1_s_long = { 2, 81, - (long *)_huff_lengthlist__44c1_s_long, + (char *)_huff_lengthlist__44c1_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -12312,7 +12312,7 @@ static const long _vq_quantlist__44c1_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c1_s_p1_0[] = { +static const char _vq_lengthlist__44c1_s_p1_0[] = { 2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -12728,7 +12728,7 @@ static const long _vq_lengthlist__44c1_s_p1_0[] = { static const static_codebook _44c1_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c1_s_p1_0, + (char *)_vq_lengthlist__44c1_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c1_s_p1_0, 0 @@ -12742,7 +12742,7 @@ static const long _vq_quantlist__44c1_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c1_s_p2_0[] = { +static const char _vq_lengthlist__44c1_s_p2_0[] = { 2, 3, 4, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -12787,7 +12787,7 @@ static const long _vq_lengthlist__44c1_s_p2_0[] = { static const static_codebook _44c1_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c1_s_p2_0, + (char *)_vq_lengthlist__44c1_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c1_s_p2_0, 0 @@ -12805,7 +12805,7 @@ static const long _vq_quantlist__44c1_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c1_s_p3_0[] = { +static const char _vq_lengthlist__44c1_s_p3_0[] = { 1, 3, 2, 7, 7, 0, 0, 0, 0, 0,13,13, 6, 6, 0, 0, 0, 0, 0,12, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -12816,7 +12816,7 @@ static const long _vq_lengthlist__44c1_s_p3_0[] = { static const static_codebook _44c1_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c1_s_p3_0, + (char *)_vq_lengthlist__44c1_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_s_p3_0, 0 @@ -12834,7 +12834,7 @@ static const long _vq_quantlist__44c1_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c1_s_p4_0[] = { +static const char _vq_lengthlist__44c1_s_p4_0[] = { 1, 3, 3, 6, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0, @@ -12845,7 +12845,7 @@ static const long _vq_lengthlist__44c1_s_p4_0[] = { static const static_codebook _44c1_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c1_s_p4_0, + (char *)_vq_lengthlist__44c1_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_s_p4_0, 0 @@ -12871,7 +12871,7 @@ static const long _vq_quantlist__44c1_s_p5_0[] = { 16, }; -static const long _vq_lengthlist__44c1_s_p5_0[] = { +static const char _vq_lengthlist__44c1_s_p5_0[] = { 1, 4, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10, 11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, @@ -12895,7 +12895,7 @@ static const long _vq_lengthlist__44c1_s_p5_0[] = { static const static_codebook _44c1_s_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44c1_s_p5_0, + (char *)_vq_lengthlist__44c1_s_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c1_s_p5_0, 0 @@ -12907,7 +12907,7 @@ static const long _vq_quantlist__44c1_s_p6_0[] = { 2, }; -static const long _vq_lengthlist__44c1_s_p6_0[] = { +static const char _vq_lengthlist__44c1_s_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 6,10,10,11,11, 11,11,10,10, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -12918,7 +12918,7 @@ static const long _vq_lengthlist__44c1_s_p6_0[] = { static const static_codebook _44c1_s_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44c1_s_p6_0, + (char *)_vq_lengthlist__44c1_s_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c1_s_p6_0, 0 @@ -12938,7 +12938,7 @@ static const long _vq_quantlist__44c1_s_p6_1[] = { 10, }; -static const long _vq_lengthlist__44c1_s_p6_1[] = { +static const char _vq_lengthlist__44c1_s_p6_1[] = { 2, 3, 3, 6, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7, @@ -12951,7 +12951,7 @@ static const long _vq_lengthlist__44c1_s_p6_1[] = { static const static_codebook _44c1_s_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44c1_s_p6_1, + (char *)_vq_lengthlist__44c1_s_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_s_p6_1, 0 @@ -12973,7 +12973,7 @@ static const long _vq_quantlist__44c1_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c1_s_p7_0[] = { +static const char _vq_lengthlist__44c1_s_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 9, 7, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -12989,7 +12989,7 @@ static const long _vq_lengthlist__44c1_s_p7_0[] = { static const static_codebook _44c1_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c1_s_p7_0, + (char *)_vq_lengthlist__44c1_s_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c1_s_p7_0, 0 @@ -13003,14 +13003,14 @@ static const long _vq_quantlist__44c1_s_p7_1[] = { 4, }; -static const long _vq_lengthlist__44c1_s_p7_1[] = { +static const char _vq_lengthlist__44c1_s_p7_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c1_s_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44c1_s_p7_1, + (char *)_vq_lengthlist__44c1_s_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c1_s_p7_1, 0 @@ -13032,7 +13032,7 @@ static const long _vq_quantlist__44c1_s_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c1_s_p8_0[] = { +static const char _vq_lengthlist__44c1_s_p8_0[] = { 1, 4, 3,10,10,10,10,10,10,10,10,10,10, 4, 8, 6, 10,10,10,10,10,10,10,10,10,10, 4, 8, 7,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -13048,7 +13048,7 @@ static const long _vq_lengthlist__44c1_s_p8_0[] = { static const static_codebook _44c1_s_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c1_s_p8_0, + (char *)_vq_lengthlist__44c1_s_p8_0, 1, -514541568, 1627103232, 4, 0, (long *)_vq_quantlist__44c1_s_p8_0, 0 @@ -13070,7 +13070,7 @@ static const long _vq_quantlist__44c1_s_p8_1[] = { 12, }; -static const long _vq_lengthlist__44c1_s_p8_1[] = { +static const char _vq_lengthlist__44c1_s_p8_1[] = { 1, 4, 4, 6, 5, 7, 7, 9, 9,10,10,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,12,11,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12,15, 7, 7, 8, 8, 9, 9,11,11, @@ -13086,7 +13086,7 @@ static const long _vq_lengthlist__44c1_s_p8_1[] = { static const static_codebook _44c1_s_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44c1_s_p8_1, + (char *)_vq_lengthlist__44c1_s_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44c1_s_p8_1, 0 @@ -13112,7 +13112,7 @@ static const long _vq_quantlist__44c1_s_p8_2[] = { 16, }; -static const long _vq_lengthlist__44c1_s_p8_2[] = { +static const char _vq_lengthlist__44c1_s_p8_2[] = { 2, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8,10,10,10, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9, @@ -13136,13 +13136,13 @@ static const long _vq_lengthlist__44c1_s_p8_2[] = { static const static_codebook _44c1_s_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44c1_s_p8_2, + (char *)_vq_lengthlist__44c1_s_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c1_s_p8_2, 0 }; -static const long _huff_lengthlist__44c1_s_short[] = { +static const char _huff_lengthlist__44c1_s_short[] = { 6, 8,13,12,13,14,15,16,16, 4, 2, 4, 7, 6, 8,11, 13,15,10, 4, 4, 8, 6, 8,11,14,17,11, 5, 6, 5, 6, 8,12,14,17,11, 5, 5, 6, 5, 7,10,13,16,12, 6, 7, @@ -13153,13 +13153,13 @@ static const long _huff_lengthlist__44c1_s_short[] = { static const static_codebook _huff_book__44c1_s_short = { 2, 81, - (long *)_huff_lengthlist__44c1_s_short, + (char *)_huff_lengthlist__44c1_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44c1_sm_long[] = { +static const char _huff_lengthlist__44c1_sm_long[] = { 5, 4, 8,10, 9, 9,10,11,12, 4, 2, 5, 6, 6, 8,10, 11,13, 8, 4, 6, 8, 7, 9,12,12,14,10, 6, 8, 4, 5, 6, 9,11,12, 9, 5, 6, 5, 5, 6, 9,11,11, 9, 7, 9, @@ -13170,7 +13170,7 @@ static const long _huff_lengthlist__44c1_sm_long[] = { static const static_codebook _huff_book__44c1_sm_long = { 2, 81, - (long *)_huff_lengthlist__44c1_sm_long, + (char *)_huff_lengthlist__44c1_sm_long, 0, 0, 0, 0, 0, NULL, 0 @@ -13182,7 +13182,7 @@ static const long _vq_quantlist__44c1_sm_p1_0[] = { 2, }; -static const long _vq_lengthlist__44c1_sm_p1_0[] = { +static const char _vq_lengthlist__44c1_sm_p1_0[] = { 1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13598,7 +13598,7 @@ static const long _vq_lengthlist__44c1_sm_p1_0[] = { static const static_codebook _44c1_sm_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44c1_sm_p1_0, + (char *)_vq_lengthlist__44c1_sm_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44c1_sm_p1_0, 0 @@ -13612,7 +13612,7 @@ static const long _vq_quantlist__44c1_sm_p2_0[] = { 4, }; -static const long _vq_lengthlist__44c1_sm_p2_0[] = { +static const char _vq_lengthlist__44c1_sm_p2_0[] = { 2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13657,7 +13657,7 @@ static const long _vq_lengthlist__44c1_sm_p2_0[] = { static const static_codebook _44c1_sm_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44c1_sm_p2_0, + (char *)_vq_lengthlist__44c1_sm_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c1_sm_p2_0, 0 @@ -13675,7 +13675,7 @@ static const long _vq_quantlist__44c1_sm_p3_0[] = { 8, }; -static const long _vq_lengthlist__44c1_sm_p3_0[] = { +static const char _vq_lengthlist__44c1_sm_p3_0[] = { 1, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 5, 5, 7, 7, 0, 0, 0, 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -13686,7 +13686,7 @@ static const long _vq_lengthlist__44c1_sm_p3_0[] = { static const static_codebook _44c1_sm_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44c1_sm_p3_0, + (char *)_vq_lengthlist__44c1_sm_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_sm_p3_0, 0 @@ -13704,7 +13704,7 @@ static const long _vq_quantlist__44c1_sm_p4_0[] = { 8, }; -static const long _vq_lengthlist__44c1_sm_p4_0[] = { +static const char _vq_lengthlist__44c1_sm_p4_0[] = { 1, 3, 3, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7, 8, 8, 9, 9, 0, 6, 6, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0, @@ -13715,7 +13715,7 @@ static const long _vq_lengthlist__44c1_sm_p4_0[] = { static const static_codebook _44c1_sm_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44c1_sm_p4_0, + (char *)_vq_lengthlist__44c1_sm_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_sm_p4_0, 0 @@ -13741,7 +13741,7 @@ static const long _vq_quantlist__44c1_sm_p5_0[] = { 16, }; -static const long _vq_lengthlist__44c1_sm_p5_0[] = { +static const char _vq_lengthlist__44c1_sm_p5_0[] = { 2, 3, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10, 11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10, @@ -13765,7 +13765,7 @@ static const long _vq_lengthlist__44c1_sm_p5_0[] = { static const static_codebook _44c1_sm_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44c1_sm_p5_0, + (char *)_vq_lengthlist__44c1_sm_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c1_sm_p5_0, 0 @@ -13777,7 +13777,7 @@ static const long _vq_quantlist__44c1_sm_p6_0[] = { 2, }; -static const long _vq_lengthlist__44c1_sm_p6_0[] = { +static const char _vq_lengthlist__44c1_sm_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11, 9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11, 11,11,10,10, 6, 9, 9,11,11,10,11,10,10, 6, 9, 9, @@ -13788,7 +13788,7 @@ static const long _vq_lengthlist__44c1_sm_p6_0[] = { static const static_codebook _44c1_sm_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44c1_sm_p6_0, + (char *)_vq_lengthlist__44c1_sm_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44c1_sm_p6_0, 0 @@ -13808,7 +13808,7 @@ static const long _vq_quantlist__44c1_sm_p6_1[] = { 10, }; -static const long _vq_lengthlist__44c1_sm_p6_1[] = { +static const char _vq_lengthlist__44c1_sm_p6_1[] = { 2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -13821,7 +13821,7 @@ static const long _vq_lengthlist__44c1_sm_p6_1[] = { static const static_codebook _44c1_sm_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44c1_sm_p6_1, + (char *)_vq_lengthlist__44c1_sm_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44c1_sm_p6_1, 0 @@ -13843,7 +13843,7 @@ static const long _vq_quantlist__44c1_sm_p7_0[] = { 12, }; -static const long _vq_lengthlist__44c1_sm_p7_0[] = { +static const char _vq_lengthlist__44c1_sm_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -13859,7 +13859,7 @@ static const long _vq_lengthlist__44c1_sm_p7_0[] = { static const static_codebook _44c1_sm_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44c1_sm_p7_0, + (char *)_vq_lengthlist__44c1_sm_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44c1_sm_p7_0, 0 @@ -13873,14 +13873,14 @@ static const long _vq_quantlist__44c1_sm_p7_1[] = { 4, }; -static const long _vq_lengthlist__44c1_sm_p7_1[] = { +static const char _vq_lengthlist__44c1_sm_p7_1[] = { 2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44c1_sm_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44c1_sm_p7_1, + (char *)_vq_lengthlist__44c1_sm_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44c1_sm_p7_1, 0 @@ -13902,7 +13902,7 @@ static const long _vq_quantlist__44c1_sm_p8_0[] = { 12, }; -static const long _vq_lengthlist__44c1_sm_p8_0[] = { +static const char _vq_lengthlist__44c1_sm_p8_0[] = { 1, 3, 3,13,13,13,13,13,13,13,13,13,13, 3, 6, 6, 13,13,13,13,13,13,13,13,13,13, 4, 8, 7,13,13,13, 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, @@ -13918,7 +13918,7 @@ static const long _vq_lengthlist__44c1_sm_p8_0[] = { static const static_codebook _44c1_sm_p8_0 = { 2, 169, - (long *)_vq_lengthlist__44c1_sm_p8_0, + (char *)_vq_lengthlist__44c1_sm_p8_0, 1, -514541568, 1627103232, 4, 0, (long *)_vq_quantlist__44c1_sm_p8_0, 0 @@ -13940,7 +13940,7 @@ static const long _vq_quantlist__44c1_sm_p8_1[] = { 12, }; -static const long _vq_lengthlist__44c1_sm_p8_1[] = { +static const char _vq_lengthlist__44c1_sm_p8_1[] = { 1, 4, 4, 6, 6, 7, 7, 9, 9,10,11,12,12, 6, 5, 5, 7, 7, 8, 7,10,10,11,11,12,12, 6, 5, 5, 7, 7, 8, 8,10,10,11,11,12,12,16, 7, 7, 8, 8, 9, 9,11,11, @@ -13956,7 +13956,7 @@ static const long _vq_lengthlist__44c1_sm_p8_1[] = { static const static_codebook _44c1_sm_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44c1_sm_p8_1, + (char *)_vq_lengthlist__44c1_sm_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44c1_sm_p8_1, 0 @@ -13982,7 +13982,7 @@ static const long _vq_quantlist__44c1_sm_p8_2[] = { 16, }; -static const long _vq_lengthlist__44c1_sm_p8_2[] = { +static const char _vq_lengthlist__44c1_sm_p8_2[] = { 2, 5, 5, 6, 6, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, @@ -14006,13 +14006,13 @@ static const long _vq_lengthlist__44c1_sm_p8_2[] = { static const static_codebook _44c1_sm_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44c1_sm_p8_2, + (char *)_vq_lengthlist__44c1_sm_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44c1_sm_p8_2, 0 }; -static const long _huff_lengthlist__44c1_sm_short[] = { +static const char _huff_lengthlist__44c1_sm_short[] = { 4, 7,13,14,14,15,16,18,18, 4, 2, 5, 8, 7, 9,12, 15,15,10, 4, 5,10, 6, 8,11,15,17,12, 5, 7, 5, 6, 8,11,14,17,11, 5, 6, 6, 5, 6, 9,13,17,12, 6, 7, @@ -14023,13 +14023,13 @@ static const long _huff_lengthlist__44c1_sm_short[] = { static const static_codebook _huff_book__44c1_sm_short = { 2, 81, - (long *)_huff_lengthlist__44c1_sm_short, + (char *)_huff_lengthlist__44c1_sm_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44cn1_s_long[] = { +static const char _huff_lengthlist__44cn1_s_long[] = { 4, 4, 7, 8, 7, 8,10,12,17, 3, 1, 6, 6, 7, 8,10, 12,15, 7, 6, 9, 9, 9,11,12,14,17, 8, 6, 9, 6, 7, 9,11,13,17, 7, 6, 9, 7, 7, 8, 9,12,15, 8, 8,10, @@ -14040,7 +14040,7 @@ static const long _huff_lengthlist__44cn1_s_long[] = { static const static_codebook _huff_book__44cn1_s_long = { 2, 81, - (long *)_huff_lengthlist__44cn1_s_long, + (char *)_huff_lengthlist__44cn1_s_long, 0, 0, 0, 0, 0, NULL, 0 @@ -14052,7 +14052,7 @@ static const long _vq_quantlist__44cn1_s_p1_0[] = { 2, }; -static const long _vq_lengthlist__44cn1_s_p1_0[] = { +static const char _vq_lengthlist__44cn1_s_p1_0[] = { 1, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14468,7 +14468,7 @@ static const long _vq_lengthlist__44cn1_s_p1_0[] = { static const static_codebook _44cn1_s_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44cn1_s_p1_0, + (char *)_vq_lengthlist__44cn1_s_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44cn1_s_p1_0, 0 @@ -14482,7 +14482,7 @@ static const long _vq_quantlist__44cn1_s_p2_0[] = { 4, }; -static const long _vq_lengthlist__44cn1_s_p2_0[] = { +static const char _vq_lengthlist__44cn1_s_p2_0[] = { 1, 4, 4, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14527,7 +14527,7 @@ static const long _vq_lengthlist__44cn1_s_p2_0[] = { static const static_codebook _44cn1_s_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44cn1_s_p2_0, + (char *)_vq_lengthlist__44cn1_s_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44cn1_s_p2_0, 0 @@ -14545,7 +14545,7 @@ static const long _vq_quantlist__44cn1_s_p3_0[] = { 8, }; -static const long _vq_lengthlist__44cn1_s_p3_0[] = { +static const char _vq_lengthlist__44cn1_s_p3_0[] = { 1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, @@ -14556,7 +14556,7 @@ static const long _vq_lengthlist__44cn1_s_p3_0[] = { static const static_codebook _44cn1_s_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44cn1_s_p3_0, + (char *)_vq_lengthlist__44cn1_s_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_s_p3_0, 0 @@ -14574,7 +14574,7 @@ static const long _vq_quantlist__44cn1_s_p4_0[] = { 8, }; -static const long _vq_lengthlist__44cn1_s_p4_0[] = { +static const char _vq_lengthlist__44cn1_s_p4_0[] = { 1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0, @@ -14585,7 +14585,7 @@ static const long _vq_lengthlist__44cn1_s_p4_0[] = { static const static_codebook _44cn1_s_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44cn1_s_p4_0, + (char *)_vq_lengthlist__44cn1_s_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_s_p4_0, 0 @@ -14611,7 +14611,7 @@ static const long _vq_quantlist__44cn1_s_p5_0[] = { 16, }; -static const long _vq_lengthlist__44cn1_s_p5_0[] = { +static const char _vq_lengthlist__44cn1_s_p5_0[] = { 1, 4, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,10, 10, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10, 11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, @@ -14635,7 +14635,7 @@ static const long _vq_lengthlist__44cn1_s_p5_0[] = { static const static_codebook _44cn1_s_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44cn1_s_p5_0, + (char *)_vq_lengthlist__44cn1_s_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44cn1_s_p5_0, 0 @@ -14647,7 +14647,7 @@ static const long _vq_quantlist__44cn1_s_p6_0[] = { 2, }; -static const long _vq_lengthlist__44cn1_s_p6_0[] = { +static const char _vq_lengthlist__44cn1_s_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 6, 6,10, 9, 9,11, 9, 9, 4, 6, 6,10, 9, 9,10, 9, 9, 7,10,10,11,11, 11,12,11,11, 7, 9, 9,11,11,10,11,10,10, 7, 9, 9, @@ -14658,7 +14658,7 @@ static const long _vq_lengthlist__44cn1_s_p6_0[] = { static const static_codebook _44cn1_s_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44cn1_s_p6_0, + (char *)_vq_lengthlist__44cn1_s_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44cn1_s_p6_0, 0 @@ -14678,7 +14678,7 @@ static const long _vq_quantlist__44cn1_s_p6_1[] = { 10, }; -static const long _vq_lengthlist__44cn1_s_p6_1[] = { +static const char _vq_lengthlist__44cn1_s_p6_1[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 6, 8, 8, 8, 8, 8, 8,10,10,10, 7, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -14691,7 +14691,7 @@ static const long _vq_lengthlist__44cn1_s_p6_1[] = { static const static_codebook _44cn1_s_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44cn1_s_p6_1, + (char *)_vq_lengthlist__44cn1_s_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_s_p6_1, 0 @@ -14713,7 +14713,7 @@ static const long _vq_quantlist__44cn1_s_p7_0[] = { 12, }; -static const long _vq_lengthlist__44cn1_s_p7_0[] = { +static const char _vq_lengthlist__44cn1_s_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,11,11, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -14729,7 +14729,7 @@ static const long _vq_lengthlist__44cn1_s_p7_0[] = { static const static_codebook _44cn1_s_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44cn1_s_p7_0, + (char *)_vq_lengthlist__44cn1_s_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44cn1_s_p7_0, 0 @@ -14743,14 +14743,14 @@ static const long _vq_quantlist__44cn1_s_p7_1[] = { 4, }; -static const long _vq_lengthlist__44cn1_s_p7_1[] = { +static const char _vq_lengthlist__44cn1_s_p7_1[] = { 2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44cn1_s_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44cn1_s_p7_1, + (char *)_vq_lengthlist__44cn1_s_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44cn1_s_p7_1, 0 @@ -14764,7 +14764,7 @@ static const long _vq_quantlist__44cn1_s_p8_0[] = { 4, }; -static const long _vq_lengthlist__44cn1_s_p8_0[] = { +static const char _vq_lengthlist__44cn1_s_p8_0[] = { 1, 7, 7,11,11, 8,11,11,11,11, 4,11, 3,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -14809,7 +14809,7 @@ static const long _vq_lengthlist__44cn1_s_p8_0[] = { static const static_codebook _44cn1_s_p8_0 = { 4, 625, - (long *)_vq_lengthlist__44cn1_s_p8_0, + (char *)_vq_lengthlist__44cn1_s_p8_0, 1, -518283264, 1627103232, 3, 0, (long *)_vq_quantlist__44cn1_s_p8_0, 0 @@ -14831,7 +14831,7 @@ static const long _vq_quantlist__44cn1_s_p8_1[] = { 12, }; -static const long _vq_lengthlist__44cn1_s_p8_1[] = { +static const char _vq_lengthlist__44cn1_s_p8_1[] = { 1, 4, 4, 6, 6, 8, 8, 9,10,10,11,11,11, 6, 5, 5, 7, 7, 8, 8, 9,10, 9,11,11,12, 5, 5, 5, 7, 7, 8, 9,10,10,12,12,14,13,15, 7, 7, 8, 8, 9,10,11,11, @@ -14847,7 +14847,7 @@ static const long _vq_lengthlist__44cn1_s_p8_1[] = { static const static_codebook _44cn1_s_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44cn1_s_p8_1, + (char *)_vq_lengthlist__44cn1_s_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44cn1_s_p8_1, 0 @@ -14873,7 +14873,7 @@ static const long _vq_quantlist__44cn1_s_p8_2[] = { 16, }; -static const long _vq_lengthlist__44cn1_s_p8_2[] = { +static const char _vq_lengthlist__44cn1_s_p8_2[] = { 3, 4, 3, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,11,11, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, @@ -14897,13 +14897,13 @@ static const long _vq_lengthlist__44cn1_s_p8_2[] = { static const static_codebook _44cn1_s_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44cn1_s_p8_2, + (char *)_vq_lengthlist__44cn1_s_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44cn1_s_p8_2, 0 }; -static const long _huff_lengthlist__44cn1_s_short[] = { +static const char _huff_lengthlist__44cn1_s_short[] = { 10, 9,12,15,12,13,16,14,16, 7, 1, 5,14, 7,10,13, 16,16, 9, 4, 6,16, 8,11,16,16,16,14, 4, 7,16, 9, 12,14,16,16,10, 5, 7,14, 9,12,14,15,15,13, 8, 9, @@ -14914,13 +14914,13 @@ static const long _huff_lengthlist__44cn1_s_short[] = { static const static_codebook _huff_book__44cn1_s_short = { 2, 81, - (long *)_huff_lengthlist__44cn1_s_short, + (char *)_huff_lengthlist__44cn1_s_short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44cn1_sm_long[] = { +static const char _huff_lengthlist__44cn1_sm_long[] = { 3, 3, 8, 8, 8, 8,10,12,14, 3, 2, 6, 7, 7, 8,10, 12,16, 7, 6, 7, 9, 8,10,12,14,16, 8, 6, 8, 4, 5, 7, 9,11,13, 7, 6, 8, 5, 6, 7, 9,11,14, 8, 8,10, @@ -14931,7 +14931,7 @@ static const long _huff_lengthlist__44cn1_sm_long[] = { static const static_codebook _huff_book__44cn1_sm_long = { 2, 81, - (long *)_huff_lengthlist__44cn1_sm_long, + (char *)_huff_lengthlist__44cn1_sm_long, 0, 0, 0, 0, 0, NULL, 0 @@ -14943,7 +14943,7 @@ static const long _vq_quantlist__44cn1_sm_p1_0[] = { 2, }; -static const long _vq_lengthlist__44cn1_sm_p1_0[] = { +static const char _vq_lengthlist__44cn1_sm_p1_0[] = { 1, 4, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15359,7 +15359,7 @@ static const long _vq_lengthlist__44cn1_sm_p1_0[] = { static const static_codebook _44cn1_sm_p1_0 = { 8, 6561, - (long *)_vq_lengthlist__44cn1_sm_p1_0, + (char *)_vq_lengthlist__44cn1_sm_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44cn1_sm_p1_0, 0 @@ -15373,7 +15373,7 @@ static const long _vq_quantlist__44cn1_sm_p2_0[] = { 4, }; -static const long _vq_lengthlist__44cn1_sm_p2_0[] = { +static const char _vq_lengthlist__44cn1_sm_p2_0[] = { 1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15418,7 +15418,7 @@ static const long _vq_lengthlist__44cn1_sm_p2_0[] = { static const static_codebook _44cn1_sm_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44cn1_sm_p2_0, + (char *)_vq_lengthlist__44cn1_sm_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44cn1_sm_p2_0, 0 @@ -15436,7 +15436,7 @@ static const long _vq_quantlist__44cn1_sm_p3_0[] = { 8, }; -static const long _vq_lengthlist__44cn1_sm_p3_0[] = { +static const char _vq_lengthlist__44cn1_sm_p3_0[] = { 1, 3, 4, 7, 7, 0, 0, 0, 0, 0, 4, 4, 7, 7, 0, 0, 0, 0, 0, 4, 5, 7, 7, 0, 0, 0, 0, 0, 6, 7, 8, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, @@ -15447,7 +15447,7 @@ static const long _vq_lengthlist__44cn1_sm_p3_0[] = { static const static_codebook _44cn1_sm_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44cn1_sm_p3_0, + (char *)_vq_lengthlist__44cn1_sm_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_sm_p3_0, 0 @@ -15465,7 +15465,7 @@ static const long _vq_quantlist__44cn1_sm_p4_0[] = { 8, }; -static const long _vq_lengthlist__44cn1_sm_p4_0[] = { +static const char _vq_lengthlist__44cn1_sm_p4_0[] = { 1, 4, 3, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 8, 7, 9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8, 8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0, @@ -15476,7 +15476,7 @@ static const long _vq_lengthlist__44cn1_sm_p4_0[] = { static const static_codebook _44cn1_sm_p4_0 = { 2, 81, - (long *)_vq_lengthlist__44cn1_sm_p4_0, + (char *)_vq_lengthlist__44cn1_sm_p4_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_sm_p4_0, 0 @@ -15502,7 +15502,7 @@ static const long _vq_quantlist__44cn1_sm_p5_0[] = { 16, }; -static const long _vq_lengthlist__44cn1_sm_p5_0[] = { +static const char _vq_lengthlist__44cn1_sm_p5_0[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11, 11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11, 12,12, 0, 6, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11, @@ -15526,7 +15526,7 @@ static const long _vq_lengthlist__44cn1_sm_p5_0[] = { static const static_codebook _44cn1_sm_p5_0 = { 2, 289, - (long *)_vq_lengthlist__44cn1_sm_p5_0, + (char *)_vq_lengthlist__44cn1_sm_p5_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44cn1_sm_p5_0, 0 @@ -15538,7 +15538,7 @@ static const long _vq_quantlist__44cn1_sm_p6_0[] = { 2, }; -static const long _vq_lengthlist__44cn1_sm_p6_0[] = { +static const char _vq_lengthlist__44cn1_sm_p6_0[] = { 1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 6,10, 9, 9,11, 9, 9, 4, 6, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11, 11,11,11,10, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9, @@ -15549,7 +15549,7 @@ static const long _vq_lengthlist__44cn1_sm_p6_0[] = { static const static_codebook _44cn1_sm_p6_0 = { 4, 81, - (long *)_vq_lengthlist__44cn1_sm_p6_0, + (char *)_vq_lengthlist__44cn1_sm_p6_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44cn1_sm_p6_0, 0 @@ -15569,7 +15569,7 @@ static const long _vq_quantlist__44cn1_sm_p6_1[] = { 10, }; -static const long _vq_lengthlist__44cn1_sm_p6_1[] = { +static const char _vq_lengthlist__44cn1_sm_p6_1[] = { 2, 4, 4, 5, 5, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7, @@ -15582,7 +15582,7 @@ static const long _vq_lengthlist__44cn1_sm_p6_1[] = { static const static_codebook _44cn1_sm_p6_1 = { 2, 121, - (long *)_vq_lengthlist__44cn1_sm_p6_1, + (char *)_vq_lengthlist__44cn1_sm_p6_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44cn1_sm_p6_1, 0 @@ -15604,7 +15604,7 @@ static const long _vq_quantlist__44cn1_sm_p7_0[] = { 12, }; -static const long _vq_lengthlist__44cn1_sm_p7_0[] = { +static const char _vq_lengthlist__44cn1_sm_p7_0[] = { 1, 4, 4, 6, 6, 7, 7, 7, 7, 9, 9,10,10, 7, 5, 5, 7, 7, 8, 8, 8, 8,10, 9,11,10, 7, 5, 5, 7, 7, 8, 8, 8, 8, 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9, @@ -15620,7 +15620,7 @@ static const long _vq_lengthlist__44cn1_sm_p7_0[] = { static const static_codebook _44cn1_sm_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44cn1_sm_p7_0, + (char *)_vq_lengthlist__44cn1_sm_p7_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44cn1_sm_p7_0, 0 @@ -15634,14 +15634,14 @@ static const long _vq_quantlist__44cn1_sm_p7_1[] = { 4, }; -static const long _vq_lengthlist__44cn1_sm_p7_1[] = { +static const char _vq_lengthlist__44cn1_sm_p7_1[] = { 2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6, 6, 6, 5, 5, }; static const static_codebook _44cn1_sm_p7_1 = { 2, 25, - (long *)_vq_lengthlist__44cn1_sm_p7_1, + (char *)_vq_lengthlist__44cn1_sm_p7_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44cn1_sm_p7_1, 0 @@ -15659,7 +15659,7 @@ static const long _vq_quantlist__44cn1_sm_p8_0[] = { 8, }; -static const long _vq_lengthlist__44cn1_sm_p8_0[] = { +static const char _vq_lengthlist__44cn1_sm_p8_0[] = { 1, 4, 4,12,11,13,13,14,14, 4, 7, 7,11,13,14,14, 14,14, 3, 8, 3,14,14,14,14,14,14,14,10,12,14,14, 14,14,14,14,14,14, 5,14, 8,14,14,14,14,14,12,14, @@ -15670,7 +15670,7 @@ static const long _vq_lengthlist__44cn1_sm_p8_0[] = { static const static_codebook _44cn1_sm_p8_0 = { 2, 81, - (long *)_vq_lengthlist__44cn1_sm_p8_0, + (char *)_vq_lengthlist__44cn1_sm_p8_0, 1, -516186112, 1627103232, 4, 0, (long *)_vq_quantlist__44cn1_sm_p8_0, 0 @@ -15692,7 +15692,7 @@ static const long _vq_quantlist__44cn1_sm_p8_1[] = { 12, }; -static const long _vq_lengthlist__44cn1_sm_p8_1[] = { +static const char _vq_lengthlist__44cn1_sm_p8_1[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9,10,11,11,11, 6, 5, 5, 7, 7, 8, 8,10,10,10,11,11,11, 6, 5, 5, 7, 7, 8, 8,10,10,11,12,12,12,14, 7, 7, 7, 8, 9, 9,11,11, @@ -15708,7 +15708,7 @@ static const long _vq_lengthlist__44cn1_sm_p8_1[] = { static const static_codebook _44cn1_sm_p8_1 = { 2, 169, - (long *)_vq_lengthlist__44cn1_sm_p8_1, + (char *)_vq_lengthlist__44cn1_sm_p8_1, 1, -522616832, 1620115456, 4, 0, (long *)_vq_quantlist__44cn1_sm_p8_1, 0 @@ -15734,7 +15734,7 @@ static const long _vq_quantlist__44cn1_sm_p8_2[] = { 16, }; -static const long _vq_lengthlist__44cn1_sm_p8_2[] = { +static const char _vq_lengthlist__44cn1_sm_p8_2[] = { 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,10, 6, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, @@ -15758,13 +15758,13 @@ static const long _vq_lengthlist__44cn1_sm_p8_2[] = { static const static_codebook _44cn1_sm_p8_2 = { 2, 289, - (long *)_vq_lengthlist__44cn1_sm_p8_2, + (char *)_vq_lengthlist__44cn1_sm_p8_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44cn1_sm_p8_2, 0 }; -static const long _huff_lengthlist__44cn1_sm_short[] = { +static const char _huff_lengthlist__44cn1_sm_short[] = { 5, 6,12,14,12,14,16,17,18, 4, 2, 5,11, 7,10,12, 14,15, 9, 4, 5,11, 7,10,13,15,18,15, 6, 7, 5, 6, 8,11,13,16,11, 5, 6, 5, 5, 6, 9,13,15,12, 5, 7, @@ -15775,7 +15775,7 @@ static const long _huff_lengthlist__44cn1_sm_short[] = { static const static_codebook _huff_book__44cn1_sm_short = { 2, 81, - (long *)_huff_lengthlist__44cn1_sm_short, + (char *)_huff_lengthlist__44cn1_sm_short, 0, 0, 0, 0, 0, NULL, 0 diff --git a/drivers/vorbis/books/floor/Makefile.am b/drivers/vorbis/books/floor/Makefile.am deleted file mode 100644 index 272ab1a28c..0000000000 --- a/drivers/vorbis/books/floor/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = floor_books.h diff --git a/drivers/vorbis/books/floor/Makefile.in b/drivers/vorbis/books/floor/Makefile.in deleted file mode 100644 index 6148dc21f1..0000000000 --- a/drivers/vorbis/books/floor/Makefile.in +++ /dev/null @@ -1,356 +0,0 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = lib/books/floor -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HTLATEX = @HTLATEX@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OGG_CFLAGS = @OGG_CFLAGS@ -OGG_LIBS = @OGG_LIBS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VE_LIB_AGE = @VE_LIB_AGE@ -VE_LIB_CURRENT = @VE_LIB_CURRENT@ -VE_LIB_REVISION = @VE_LIB_REVISION@ -VF_LIB_AGE = @VF_LIB_AGE@ -VF_LIB_CURRENT = @VF_LIB_CURRENT@ -VF_LIB_REVISION = @VF_LIB_REVISION@ -VORBIS_LIBS = @VORBIS_LIBS@ -V_LIB_AGE = @V_LIB_AGE@ -V_LIB_CURRENT = @V_LIB_CURRENT@ -V_LIB_REVISION = @V_LIB_REVISION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pthread_lib = @pthread_lib@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = floor_books.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/floor/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu lib/books/floor/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/drivers/vorbis/books/floor/floor_books.h b/drivers/vorbis/books/floor/floor_books.h index 14320cf692..e925313f7b 100644 --- a/drivers/vorbis/books/floor/floor_books.h +++ b/drivers/vorbis/books/floor/floor_books.h @@ -11,38 +11,38 @@ ******************************************************************** function: static codebooks autogenerated by huff/huffbuld - last modified: $Id: floor_books.h 16939 2010-03-01 08:38:14Z xiphmont $ + last modified: $Id: floor_books.h 19057 2014-01-22 12:32:31Z xiphmont $ ********************************************************************/ #include "codebook.h" -static const long _huff_lengthlist_line_256x7_0sub1[] = { +static const char _huff_lengthlist_line_256x7_0sub1[] = { 0, 2, 3, 3, 3, 3, 4, 3, 4, }; static const static_codebook _huff_book_line_256x7_0sub1 = { 1, 9, - (long *)_huff_lengthlist_line_256x7_0sub1, + (char *)_huff_lengthlist_line_256x7_0sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_0sub2[] = { +static const char _huff_lengthlist_line_256x7_0sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 5, 3, 6, 3, 6, 4, 6, 4, 7, 5, 7, }; static const static_codebook _huff_book_line_256x7_0sub2 = { 1, 25, - (long *)_huff_lengthlist_line_256x7_0sub2, + (char *)_huff_lengthlist_line_256x7_0sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_0sub3[] = { +static const char _huff_lengthlist_line_256x7_0sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 3, 5, 3, 6, 3, 6, 4, 7, 6, 7, 8, 7, 9, 8, 9, 9, 9,10, 9, @@ -51,38 +51,38 @@ static const long _huff_lengthlist_line_256x7_0sub3[] = { static const static_codebook _huff_book_line_256x7_0sub3 = { 1, 64, - (long *)_huff_lengthlist_line_256x7_0sub3, + (char *)_huff_lengthlist_line_256x7_0sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_1sub1[] = { +static const char _huff_lengthlist_line_256x7_1sub1[] = { 0, 3, 3, 3, 3, 2, 4, 3, 4, }; static const static_codebook _huff_book_line_256x7_1sub1 = { 1, 9, - (long *)_huff_lengthlist_line_256x7_1sub1, + (char *)_huff_lengthlist_line_256x7_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_1sub2[] = { +static const char _huff_lengthlist_line_256x7_1sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 4, 3, 4, 4, 5, 4, 6, 5, 6, 7, 6, 8, 8, }; static const static_codebook _huff_book_line_256x7_1sub2 = { 1, 25, - (long *)_huff_lengthlist_line_256x7_1sub2, + (char *)_huff_lengthlist_line_256x7_1sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_1sub3[] = { +static const char _huff_lengthlist_line_256x7_1sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 3, 6, 3, 7, 3, 8, 5, 8, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -91,13 +91,13 @@ static const long _huff_lengthlist_line_256x7_1sub3[] = { static const static_codebook _huff_book_line_256x7_1sub3 = { 1, 64, - (long *)_huff_lengthlist_line_256x7_1sub3, + (char *)_huff_lengthlist_line_256x7_1sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_class0[] = { +static const char _huff_lengthlist_line_256x7_class0[] = { 7, 5, 5, 9, 9, 6, 6, 9,12, 8, 7, 8,11, 8, 9,15, 6, 3, 3, 7, 7, 4, 3, 6, 9, 6, 5, 6, 8, 6, 8,15, 8, 5, 5, 9, 8, 5, 4, 6,10, 7, 5, 5,11, 8, 7,15, @@ -106,13 +106,13 @@ static const long _huff_lengthlist_line_256x7_class0[] = { static const static_codebook _huff_book_line_256x7_class0 = { 1, 64, - (long *)_huff_lengthlist_line_256x7_class0, + (char *)_huff_lengthlist_line_256x7_class0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x7_class1[] = { +static const char _huff_lengthlist_line_256x7_class1[] = { 5, 6, 8,15, 6, 9,10,15,10,11,12,15,15,15,15,15, 4, 6, 7,15, 6, 7, 8,15, 9, 8, 9,15,15,15,15,15, 6, 8, 9,15, 7, 7, 8,15,10, 9,10,15,15,15,15,15, @@ -133,13 +133,13 @@ static const long _huff_lengthlist_line_256x7_class1[] = { static const static_codebook _huff_book_line_256x7_class1 = { 1, 256, - (long *)_huff_lengthlist_line_256x7_class1, + (char *)_huff_lengthlist_line_256x7_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_0sub0[] = { +static const char _huff_lengthlist_line_512x17_0sub0[] = { 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 6, 6, 6, 5, 6, 6, 7, 6, 7, 6, 7, 6, 7, 6, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 9, 7, 9, 7, @@ -152,26 +152,26 @@ static const long _huff_lengthlist_line_512x17_0sub0[] = { static const static_codebook _huff_book_line_512x17_0sub0 = { 1, 128, - (long *)_huff_lengthlist_line_512x17_0sub0, + (char *)_huff_lengthlist_line_512x17_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_1sub0[] = { +static const char _huff_lengthlist_line_512x17_1sub0[] = { 2, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 6, 7, 6, 7, 6, 8, 7, 8, 7, 8, 7, 8, 7, }; static const static_codebook _huff_book_line_512x17_1sub0 = { 1, 32, - (long *)_huff_lengthlist_line_512x17_1sub0, + (char *)_huff_lengthlist_line_512x17_1sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_1sub1[] = { +static const char _huff_lengthlist_line_512x17_1sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 5, 3, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5, @@ -184,26 +184,26 @@ static const long _huff_lengthlist_line_512x17_1sub1[] = { static const static_codebook _huff_book_line_512x17_1sub1 = { 1, 128, - (long *)_huff_lengthlist_line_512x17_1sub1, + (char *)_huff_lengthlist_line_512x17_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_2sub1[] = { +static const char _huff_lengthlist_line_512x17_2sub1[] = { 0, 4, 5, 4, 4, 4, 5, 4, 4, 4, 5, 4, 5, 4, 5, 3, 5, 3, }; static const static_codebook _huff_book_line_512x17_2sub1 = { 1, 18, - (long *)_huff_lengthlist_line_512x17_2sub1, + (char *)_huff_lengthlist_line_512x17_2sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_2sub2[] = { +static const char _huff_lengthlist_line_512x17_2sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 6, 4, 6, 5, 6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 8, 7, 8, 7, 9, 7, @@ -212,13 +212,13 @@ static const long _huff_lengthlist_line_512x17_2sub2[] = { static const static_codebook _huff_book_line_512x17_2sub2 = { 1, 50, - (long *)_huff_lengthlist_line_512x17_2sub2, + (char *)_huff_lengthlist_line_512x17_2sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_2sub3[] = { +static const char _huff_lengthlist_line_512x17_2sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -231,26 +231,26 @@ static const long _huff_lengthlist_line_512x17_2sub3[] = { static const static_codebook _huff_book_line_512x17_2sub3 = { 1, 128, - (long *)_huff_lengthlist_line_512x17_2sub3, + (char *)_huff_lengthlist_line_512x17_2sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_3sub1[] = { +static const char _huff_lengthlist_line_512x17_3sub1[] = { 0, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 5, 4, 5, 5, 5, }; static const static_codebook _huff_book_line_512x17_3sub1 = { 1, 18, - (long *)_huff_lengthlist_line_512x17_3sub1, + (char *)_huff_lengthlist_line_512x17_3sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_3sub2[] = { +static const char _huff_lengthlist_line_512x17_3sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 4, 3, 5, 4, 6, 4, 6, 5, 7, 6, 7, 6, 8, 6, 8, 7, 9, 8,10, 8,12, 9,13,10,15,10,15, @@ -259,13 +259,13 @@ static const long _huff_lengthlist_line_512x17_3sub2[] = { static const static_codebook _huff_book_line_512x17_3sub2 = { 1, 50, - (long *)_huff_lengthlist_line_512x17_3sub2, + (char *)_huff_lengthlist_line_512x17_3sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_3sub3[] = { +static const char _huff_lengthlist_line_512x17_3sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -278,25 +278,25 @@ static const long _huff_lengthlist_line_512x17_3sub3[] = { static const static_codebook _huff_book_line_512x17_3sub3 = { 1, 128, - (long *)_huff_lengthlist_line_512x17_3sub3, + (char *)_huff_lengthlist_line_512x17_3sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_class1[] = { +static const char _huff_lengthlist_line_512x17_class1[] = { 1, 2, 3, 6, 5, 4, 7, 7, }; static const static_codebook _huff_book_line_512x17_class1 = { 1, 8, - (long *)_huff_lengthlist_line_512x17_class1, + (char *)_huff_lengthlist_line_512x17_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_class2[] = { +static const char _huff_lengthlist_line_512x17_class2[] = { 3, 3, 3,14, 5, 4, 4,11, 8, 6, 6,10,17,12,11,17, 6, 5, 5,15, 5, 3, 4,11, 8, 5, 5, 8,16, 9,10,14, 10, 8, 9,17, 8, 6, 6,13,10, 7, 7,10,16,11,13,14, @@ -305,13 +305,13 @@ static const long _huff_lengthlist_line_512x17_class2[] = { static const static_codebook _huff_book_line_512x17_class2 = { 1, 64, - (long *)_huff_lengthlist_line_512x17_class2, + (char *)_huff_lengthlist_line_512x17_class2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_512x17_class3[] = { +static const char _huff_lengthlist_line_512x17_class3[] = { 2, 4, 6,17, 4, 5, 7,17, 8, 7,10,17,17,17,17,17, 3, 4, 6,15, 3, 3, 6,15, 7, 6, 9,17,17,17,17,17, 6, 8,10,17, 6, 6, 8,16, 9, 8,10,17,17,15,16,17, @@ -320,13 +320,13 @@ static const long _huff_lengthlist_line_512x17_class3[] = { static const static_codebook _huff_book_line_512x17_class3 = { 1, 64, - (long *)_huff_lengthlist_line_512x17_class3, + (char *)_huff_lengthlist_line_512x17_class3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x4_class0[] = { +static const char _huff_lengthlist_line_128x4_class0[] = { 7, 7, 7,11, 6, 6, 7,11, 7, 6, 6,10,12,10,10,13, 7, 7, 8,11, 7, 7, 7,11, 7, 6, 7,10,11,10,10,13, 10,10, 9,12, 9, 9, 9,11, 8, 8, 8,11,13,11,10,14, @@ -347,50 +347,50 @@ static const long _huff_lengthlist_line_128x4_class0[] = { static const static_codebook _huff_book_line_128x4_class0 = { 1, 256, - (long *)_huff_lengthlist_line_128x4_class0, + (char *)_huff_lengthlist_line_128x4_class0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x4_0sub0[] = { +static const char _huff_lengthlist_line_128x4_0sub0[] = { 2, 2, 2, 2, }; static const static_codebook _huff_book_line_128x4_0sub0 = { 1, 4, - (long *)_huff_lengthlist_line_128x4_0sub0, + (char *)_huff_lengthlist_line_128x4_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x4_0sub1[] = { +static const char _huff_lengthlist_line_128x4_0sub1[] = { 0, 0, 0, 0, 3, 2, 3, 2, 3, 3, }; static const static_codebook _huff_book_line_128x4_0sub1 = { 1, 10, - (long *)_huff_lengthlist_line_128x4_0sub1, + (char *)_huff_lengthlist_line_128x4_0sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x4_0sub2[] = { +static const char _huff_lengthlist_line_128x4_0sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 6, 5, 6, }; static const static_codebook _huff_book_line_128x4_0sub2 = { 1, 25, - (long *)_huff_lengthlist_line_128x4_0sub2, + (char *)_huff_lengthlist_line_128x4_0sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x4_0sub3[] = { +static const char _huff_lengthlist_line_128x4_0sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 5, 3, 5, 3, 5, 4, 6, 5, 6, 5, 7, 6, 6, 7, 7, 9, 9,11,11,16, @@ -399,13 +399,13 @@ static const long _huff_lengthlist_line_128x4_0sub3[] = { static const static_codebook _huff_book_line_128x4_0sub3 = { 1, 64, - (long *)_huff_lengthlist_line_128x4_0sub3, + (char *)_huff_lengthlist_line_128x4_0sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4_class0[] = { +static const char _huff_lengthlist_line_256x4_class0[] = { 6, 7, 7,12, 6, 6, 7,12, 7, 6, 6,10,15,12,11,13, 7, 7, 8,13, 7, 7, 8,12, 7, 7, 7,11,12,12,11,13, 10, 9, 9,11, 9, 9, 9,10,10, 8, 8,12,14,12,12,14, @@ -426,50 +426,50 @@ static const long _huff_lengthlist_line_256x4_class0[] = { static const static_codebook _huff_book_line_256x4_class0 = { 1, 256, - (long *)_huff_lengthlist_line_256x4_class0, + (char *)_huff_lengthlist_line_256x4_class0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4_0sub0[] = { +static const char _huff_lengthlist_line_256x4_0sub0[] = { 2, 2, 2, 2, }; static const static_codebook _huff_book_line_256x4_0sub0 = { 1, 4, - (long *)_huff_lengthlist_line_256x4_0sub0, + (char *)_huff_lengthlist_line_256x4_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4_0sub1[] = { +static const char _huff_lengthlist_line_256x4_0sub1[] = { 0, 0, 0, 0, 2, 2, 3, 3, 3, 3, }; static const static_codebook _huff_book_line_256x4_0sub1 = { 1, 10, - (long *)_huff_lengthlist_line_256x4_0sub1, + (char *)_huff_lengthlist_line_256x4_0sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4_0sub2[] = { +static const char _huff_lengthlist_line_256x4_0sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 3, 5, 3, 5, 4, 5, 4, 6, 4, 6, }; static const static_codebook _huff_book_line_256x4_0sub2 = { 1, 25, - (long *)_huff_lengthlist_line_256x4_0sub2, + (char *)_huff_lengthlist_line_256x4_0sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4_0sub3[] = { +static const char _huff_lengthlist_line_256x4_0sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 5, 3, 5, 3, 6, 4, 7, 4, 7, 5, 7, 6, 7, 6, 7, 8,10,13,13,13, @@ -478,13 +478,13 @@ static const long _huff_lengthlist_line_256x4_0sub3[] = { static const static_codebook _huff_book_line_256x4_0sub3 = { 1, 64, - (long *)_huff_lengthlist_line_256x4_0sub3, + (char *)_huff_lengthlist_line_256x4_0sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_class0[] = { +static const char _huff_lengthlist_line_128x7_class0[] = { 10, 7, 8,13, 9, 6, 7,11,10, 8, 8,12,17,17,17,17, 7, 5, 5, 9, 6, 4, 4, 8, 8, 5, 5, 8,16,14,13,16, 7, 5, 5, 7, 6, 3, 3, 5, 8, 5, 4, 7,14,12,12,15, @@ -493,13 +493,13 @@ static const long _huff_lengthlist_line_128x7_class0[] = { static const static_codebook _huff_book_line_128x7_class0 = { 1, 64, - (long *)_huff_lengthlist_line_128x7_class0, + (char *)_huff_lengthlist_line_128x7_class0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_class1[] = { +static const char _huff_lengthlist_line_128x7_class1[] = { 8,13,17,17, 8,11,17,17,11,13,17,17,17,17,17,17, 6,10,16,17, 6,10,15,17, 8,10,16,17,17,17,17,17, 9,13,15,17, 8,11,17,17,10,12,17,17,17,17,17,17, @@ -520,38 +520,38 @@ static const long _huff_lengthlist_line_128x7_class1[] = { static const static_codebook _huff_book_line_128x7_class1 = { 1, 256, - (long *)_huff_lengthlist_line_128x7_class1, + (char *)_huff_lengthlist_line_128x7_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_0sub1[] = { +static const char _huff_lengthlist_line_128x7_0sub1[] = { 0, 3, 3, 3, 3, 3, 3, 3, 3, }; static const static_codebook _huff_book_line_128x7_0sub1 = { 1, 9, - (long *)_huff_lengthlist_line_128x7_0sub1, + (char *)_huff_lengthlist_line_128x7_0sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_0sub2[] = { +static const char _huff_lengthlist_line_128x7_0sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4, 5, 4, 5, 4, 5, 4, 6, 4, 6, }; static const static_codebook _huff_book_line_128x7_0sub2 = { 1, 25, - (long *)_huff_lengthlist_line_128x7_0sub2, + (char *)_huff_lengthlist_line_128x7_0sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_0sub3[] = { +static const char _huff_lengthlist_line_128x7_0sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 3, 5, 3, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, @@ -560,38 +560,38 @@ static const long _huff_lengthlist_line_128x7_0sub3[] = { static const static_codebook _huff_book_line_128x7_0sub3 = { 1, 64, - (long *)_huff_lengthlist_line_128x7_0sub3, + (char *)_huff_lengthlist_line_128x7_0sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_1sub1[] = { +static const char _huff_lengthlist_line_128x7_1sub1[] = { 0, 3, 3, 2, 3, 3, 4, 3, 4, }; static const static_codebook _huff_book_line_128x7_1sub1 = { 1, 9, - (long *)_huff_lengthlist_line_128x7_1sub1, + (char *)_huff_lengthlist_line_128x7_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_1sub2[] = { +static const char _huff_lengthlist_line_128x7_1sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 6, 3, 6, 3, 6, 3, 7, 3, 8, 4, 9, 4, 9, }; static const static_codebook _huff_book_line_128x7_1sub2 = { 1, 25, - (long *)_huff_lengthlist_line_128x7_1sub2, + (char *)_huff_lengthlist_line_128x7_1sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x7_1sub3[] = { +static const char _huff_lengthlist_line_128x7_1sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 2, 7, 3, 8, 4, 9, 5, 9, 8,10,11,11,12,14,14,14,14,14,14,14,14, @@ -600,25 +600,25 @@ static const long _huff_lengthlist_line_128x7_1sub3[] = { static const static_codebook _huff_book_line_128x7_1sub3 = { 1, 64, - (long *)_huff_lengthlist_line_128x7_1sub3, + (char *)_huff_lengthlist_line_128x7_1sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_class1[] = { +static const char _huff_lengthlist_line_128x11_class1[] = { 1, 6, 3, 7, 2, 4, 5, 7, }; static const static_codebook _huff_book_line_128x11_class1 = { 1, 8, - (long *)_huff_lengthlist_line_128x11_class1, + (char *)_huff_lengthlist_line_128x11_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_class2[] = { +static const char _huff_lengthlist_line_128x11_class2[] = { 1, 6,12,16, 4,12,15,16, 9,15,16,16,16,16,16,16, 2, 5,11,16, 5,11,13,16, 9,13,16,16,16,16,16,16, 4, 8,12,16, 5, 9,12,16, 9,13,15,16,16,16,16,16, @@ -627,13 +627,13 @@ static const long _huff_lengthlist_line_128x11_class2[] = { static const static_codebook _huff_book_line_128x11_class2 = { 1, 64, - (long *)_huff_lengthlist_line_128x11_class2, + (char *)_huff_lengthlist_line_128x11_class2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_class3[] = { +static const char _huff_lengthlist_line_128x11_class3[] = { 7, 6, 9,17, 7, 6, 8,17,12, 9,11,16,16,16,16,16, 5, 4, 7,16, 5, 3, 6,14, 9, 6, 8,15,16,16,16,16, 5, 4, 6,13, 3, 2, 4,11, 7, 4, 6,13,16,11,10,14, @@ -642,13 +642,13 @@ static const long _huff_lengthlist_line_128x11_class3[] = { static const static_codebook _huff_book_line_128x11_class3 = { 1, 64, - (long *)_huff_lengthlist_line_128x11_class3, + (char *)_huff_lengthlist_line_128x11_class3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_0sub0[] = { +static const char _huff_lengthlist_line_128x11_0sub0[] = { 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 8, 6, 8, 6, 8, 7, @@ -661,26 +661,26 @@ static const long _huff_lengthlist_line_128x11_0sub0[] = { static const static_codebook _huff_book_line_128x11_0sub0 = { 1, 128, - (long *)_huff_lengthlist_line_128x11_0sub0, + (char *)_huff_lengthlist_line_128x11_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_1sub0[] = { +static const char _huff_lengthlist_line_128x11_1sub0[] = { 2, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 7, 6, 7, 6, 7, 6, 8, 6, 8, 6, }; static const static_codebook _huff_book_line_128x11_1sub0 = { 1, 32, - (long *)_huff_lengthlist_line_128x11_1sub0, + (char *)_huff_lengthlist_line_128x11_1sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_1sub1[] = { +static const char _huff_lengthlist_line_128x11_1sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 5, 3, 6, 4, 6, 4, 7, 4, 7, 4, 7, 4, 8, 4, @@ -693,26 +693,26 @@ static const long _huff_lengthlist_line_128x11_1sub1[] = { static const static_codebook _huff_book_line_128x11_1sub1 = { 1, 128, - (long *)_huff_lengthlist_line_128x11_1sub1, + (char *)_huff_lengthlist_line_128x11_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_2sub1[] = { +static const char _huff_lengthlist_line_128x11_2sub1[] = { 0, 4, 5, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 4, 4, 5, 5, }; static const static_codebook _huff_book_line_128x11_2sub1 = { 1, 18, - (long *)_huff_lengthlist_line_128x11_2sub1, + (char *)_huff_lengthlist_line_128x11_2sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_2sub2[] = { +static const char _huff_lengthlist_line_128x11_2sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4, 5, 4, 5, 4, 6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 9, 7, 9, 7,10, 7, 9, 8,11, @@ -721,13 +721,13 @@ static const long _huff_lengthlist_line_128x11_2sub2[] = { static const static_codebook _huff_book_line_128x11_2sub2 = { 1, 50, - (long *)_huff_lengthlist_line_128x11_2sub2, + (char *)_huff_lengthlist_line_128x11_2sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_2sub3[] = { +static const char _huff_lengthlist_line_128x11_2sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -740,26 +740,26 @@ static const long _huff_lengthlist_line_128x11_2sub3[] = { static const static_codebook _huff_book_line_128x11_2sub3 = { 1, 128, - (long *)_huff_lengthlist_line_128x11_2sub3, + (char *)_huff_lengthlist_line_128x11_2sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_3sub1[] = { +static const char _huff_lengthlist_line_128x11_3sub1[] = { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, }; static const static_codebook _huff_book_line_128x11_3sub1 = { 1, 18, - (long *)_huff_lengthlist_line_128x11_3sub1, + (char *)_huff_lengthlist_line_128x11_3sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_3sub2[] = { +static const char _huff_lengthlist_line_128x11_3sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 5, 4, 6, 4, 6, 4, 7, 4, 7, 4, 8, 4, 8, 4, 9, 4, 9, 4,10, 4,10, 5,10, 5,11, 5,12, 6, @@ -768,13 +768,13 @@ static const long _huff_lengthlist_line_128x11_3sub2[] = { static const static_codebook _huff_book_line_128x11_3sub2 = { 1, 50, - (long *)_huff_lengthlist_line_128x11_3sub2, + (char *)_huff_lengthlist_line_128x11_3sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x11_3sub3[] = { +static const char _huff_lengthlist_line_128x11_3sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -787,25 +787,25 @@ static const long _huff_lengthlist_line_128x11_3sub3[] = { static const static_codebook _huff_book_line_128x11_3sub3 = { 1, 128, - (long *)_huff_lengthlist_line_128x11_3sub3, + (char *)_huff_lengthlist_line_128x11_3sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_class1[] = { +static const char _huff_lengthlist_line_128x17_class1[] = { 1, 3, 4, 7, 2, 5, 6, 7, }; static const static_codebook _huff_book_line_128x17_class1 = { 1, 8, - (long *)_huff_lengthlist_line_128x17_class1, + (char *)_huff_lengthlist_line_128x17_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_class2[] = { +static const char _huff_lengthlist_line_128x17_class2[] = { 1, 4,10,19, 3, 8,13,19, 7,12,19,19,19,19,19,19, 2, 6,11,19, 8,13,19,19, 9,11,19,19,19,19,19,19, 6, 7,13,19, 9,13,19,19,10,13,18,18,18,18,18,18, @@ -814,13 +814,13 @@ static const long _huff_lengthlist_line_128x17_class2[] = { static const static_codebook _huff_book_line_128x17_class2 = { 1, 64, - (long *)_huff_lengthlist_line_128x17_class2, + (char *)_huff_lengthlist_line_128x17_class2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_class3[] = { +static const char _huff_lengthlist_line_128x17_class3[] = { 3, 6,10,17, 4, 8,11,20, 8,10,11,20,20,20,20,20, 2, 4, 8,18, 4, 6, 8,17, 7, 8,10,20,20,17,20,20, 3, 5, 8,17, 3, 4, 6,17, 8, 8,10,17,17,12,16,20, @@ -829,13 +829,13 @@ static const long _huff_lengthlist_line_128x17_class3[] = { static const static_codebook _huff_book_line_128x17_class3 = { 1, 64, - (long *)_huff_lengthlist_line_128x17_class3, + (char *)_huff_lengthlist_line_128x17_class3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_0sub0[] = { +static const char _huff_lengthlist_line_128x17_0sub0[] = { 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 8, 5, 8, 5, 8, 5, 8, 5, 8, 6, 8, 6, 8, 6, 9, 6, 9, 6, 9, 6, @@ -848,26 +848,26 @@ static const long _huff_lengthlist_line_128x17_0sub0[] = { static const static_codebook _huff_book_line_128x17_0sub0 = { 1, 128, - (long *)_huff_lengthlist_line_128x17_0sub0, + (char *)_huff_lengthlist_line_128x17_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_1sub0[] = { +static const char _huff_lengthlist_line_128x17_1sub0[] = { 2, 5, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 7, 6, 7, 6, 7, 6, 8, 6, 9, 7, 9, 7, }; static const static_codebook _huff_book_line_128x17_1sub0 = { 1, 32, - (long *)_huff_lengthlist_line_128x17_1sub0, + (char *)_huff_lengthlist_line_128x17_1sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_1sub1[] = { +static const char _huff_lengthlist_line_128x17_1sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 5, 3, 5, 3, 6, 3, 6, 4, 6, 4, 7, 4, 7, 5, @@ -880,26 +880,26 @@ static const long _huff_lengthlist_line_128x17_1sub1[] = { static const static_codebook _huff_book_line_128x17_1sub1 = { 1, 128, - (long *)_huff_lengthlist_line_128x17_1sub1, + (char *)_huff_lengthlist_line_128x17_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_2sub1[] = { +static const char _huff_lengthlist_line_128x17_2sub1[] = { 0, 4, 5, 4, 6, 4, 8, 3, 9, 3, 9, 2, 9, 3, 8, 4, 9, 4, }; static const static_codebook _huff_book_line_128x17_2sub1 = { 1, 18, - (long *)_huff_lengthlist_line_128x17_2sub1, + (char *)_huff_lengthlist_line_128x17_2sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_2sub2[] = { +static const char _huff_lengthlist_line_128x17_2sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 1, 5, 3, 5, 3, 5, 4, 7, 5,10, 7,10, 7, 12,10,14,10,14, 9,14,11,14,14,14,13,13,13,13,13, @@ -908,13 +908,13 @@ static const long _huff_lengthlist_line_128x17_2sub2[] = { static const static_codebook _huff_book_line_128x17_2sub2 = { 1, 50, - (long *)_huff_lengthlist_line_128x17_2sub2, + (char *)_huff_lengthlist_line_128x17_2sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_2sub3[] = { +static const char _huff_lengthlist_line_128x17_2sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -927,26 +927,26 @@ static const long _huff_lengthlist_line_128x17_2sub3[] = { static const static_codebook _huff_book_line_128x17_2sub3 = { 1, 128, - (long *)_huff_lengthlist_line_128x17_2sub3, + (char *)_huff_lengthlist_line_128x17_2sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_3sub1[] = { +static const char _huff_lengthlist_line_128x17_3sub1[] = { 0, 4, 4, 4, 4, 4, 4, 4, 5, 3, 5, 3, 5, 4, 6, 4, 6, 4, }; static const static_codebook _huff_book_line_128x17_3sub1 = { 1, 18, - (long *)_huff_lengthlist_line_128x17_3sub1, + (char *)_huff_lengthlist_line_128x17_3sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_3sub2[] = { +static const char _huff_lengthlist_line_128x17_3sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 6, 3, 6, 4, 7, 4, 7, 4, 7, 4, 8, 4, 8, 4, 8, 4, 8, 4, 9, 4, 9, 5,10, 5,10, 7,10, 8, @@ -955,13 +955,13 @@ static const long _huff_lengthlist_line_128x17_3sub2[] = { static const static_codebook _huff_book_line_128x17_3sub2 = { 1, 50, - (long *)_huff_lengthlist_line_128x17_3sub2, + (char *)_huff_lengthlist_line_128x17_3sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_128x17_3sub3[] = { +static const char _huff_lengthlist_line_128x17_3sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -974,37 +974,37 @@ static const long _huff_lengthlist_line_128x17_3sub3[] = { static const static_codebook _huff_book_line_128x17_3sub3 = { 1, 128, - (long *)_huff_lengthlist_line_128x17_3sub3, + (char *)_huff_lengthlist_line_128x17_3sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_class1[] = { +static const char _huff_lengthlist_line_1024x27_class1[] = { 2,10, 8,14, 7,12,11,14, 1, 5, 3, 7, 4, 9, 7,13, }; static const static_codebook _huff_book_line_1024x27_class1 = { 1, 16, - (long *)_huff_lengthlist_line_1024x27_class1, + (char *)_huff_lengthlist_line_1024x27_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_class2[] = { +static const char _huff_lengthlist_line_1024x27_class2[] = { 1, 4, 2, 6, 3, 7, 5, 7, }; static const static_codebook _huff_book_line_1024x27_class2 = { 1, 8, - (long *)_huff_lengthlist_line_1024x27_class2, + (char *)_huff_lengthlist_line_1024x27_class2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_class3[] = { +static const char _huff_lengthlist_line_1024x27_class3[] = { 1, 5, 7,21, 5, 8, 9,21,10, 9,12,20,20,16,20,20, 4, 8, 9,20, 6, 8, 9,20,11,11,13,20,20,15,17,20, 9,11,14,20, 8,10,15,20,11,13,15,20,20,20,20,20, @@ -1025,13 +1025,13 @@ static const long _huff_lengthlist_line_1024x27_class3[] = { static const static_codebook _huff_book_line_1024x27_class3 = { 1, 256, - (long *)_huff_lengthlist_line_1024x27_class3, + (char *)_huff_lengthlist_line_1024x27_class3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_class4[] = { +static const char _huff_lengthlist_line_1024x27_class4[] = { 2, 3, 7,13, 4, 4, 7,15, 8, 6, 9,17,21,16,15,21, 2, 5, 7,11, 5, 5, 7,14, 9, 7,10,16,17,15,16,21, 4, 7,10,17, 7, 7, 9,15,11, 9,11,16,21,18,15,21, @@ -1040,13 +1040,13 @@ static const long _huff_lengthlist_line_1024x27_class4[] = { static const static_codebook _huff_book_line_1024x27_class4 = { 1, 64, - (long *)_huff_lengthlist_line_1024x27_class4, + (char *)_huff_lengthlist_line_1024x27_class4, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_0sub0[] = { +static const char _huff_lengthlist_line_1024x27_0sub0[] = { 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 7, 5, 8, 6, 8, 6, 8, 6, 9, 6, 9, 6,10, 6,10, 6,11, 6, @@ -1059,26 +1059,26 @@ static const long _huff_lengthlist_line_1024x27_0sub0[] = { static const static_codebook _huff_book_line_1024x27_0sub0 = { 1, 128, - (long *)_huff_lengthlist_line_1024x27_0sub0, + (char *)_huff_lengthlist_line_1024x27_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_1sub0[] = { +static const char _huff_lengthlist_line_1024x27_1sub0[] = { 2, 5, 5, 4, 5, 4, 5, 4, 5, 4, 6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 8, 6, 9, 6, 9, 6, }; static const static_codebook _huff_book_line_1024x27_1sub0 = { 1, 32, - (long *)_huff_lengthlist_line_1024x27_1sub0, + (char *)_huff_lengthlist_line_1024x27_1sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_1sub1[] = { +static const char _huff_lengthlist_line_1024x27_1sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 5, 8, 4, 9, 4, 9, 4, 9, 4, 9, 4, 9, 4, 9, 4, @@ -1091,26 +1091,26 @@ static const long _huff_lengthlist_line_1024x27_1sub1[] = { static const static_codebook _huff_book_line_1024x27_1sub1 = { 1, 128, - (long *)_huff_lengthlist_line_1024x27_1sub1, + (char *)_huff_lengthlist_line_1024x27_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_2sub0[] = { +static const char _huff_lengthlist_line_1024x27_2sub0[] = { 1, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 9, 8,10, 9,10, 9, }; static const static_codebook _huff_book_line_1024x27_2sub0 = { 1, 32, - (long *)_huff_lengthlist_line_1024x27_2sub0, + (char *)_huff_lengthlist_line_1024x27_2sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_2sub1[] = { +static const char _huff_lengthlist_line_1024x27_2sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 5, 6, 5, 6, 5, @@ -1123,26 +1123,26 @@ static const long _huff_lengthlist_line_1024x27_2sub1[] = { static const static_codebook _huff_book_line_1024x27_2sub1 = { 1, 128, - (long *)_huff_lengthlist_line_1024x27_2sub1, + (char *)_huff_lengthlist_line_1024x27_2sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_3sub1[] = { +static const char _huff_lengthlist_line_1024x27_3sub1[] = { 0, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 4, 4, 4, 5, 5, 5, }; static const static_codebook _huff_book_line_1024x27_3sub1 = { 1, 18, - (long *)_huff_lengthlist_line_1024x27_3sub1, + (char *)_huff_lengthlist_line_1024x27_3sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_3sub2[] = { +static const char _huff_lengthlist_line_1024x27_3sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 5, 7, 5, 8, 6, 8, 6, 9, 7,10, 7,10, 8,10, 8,11, @@ -1151,13 +1151,13 @@ static const long _huff_lengthlist_line_1024x27_3sub2[] = { static const static_codebook _huff_book_line_1024x27_3sub2 = { 1, 50, - (long *)_huff_lengthlist_line_1024x27_3sub2, + (char *)_huff_lengthlist_line_1024x27_3sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_3sub3[] = { +static const char _huff_lengthlist_line_1024x27_3sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1170,26 +1170,26 @@ static const long _huff_lengthlist_line_1024x27_3sub3[] = { static const static_codebook _huff_book_line_1024x27_3sub3 = { 1, 128, - (long *)_huff_lengthlist_line_1024x27_3sub3, + (char *)_huff_lengthlist_line_1024x27_3sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_4sub1[] = { +static const char _huff_lengthlist_line_1024x27_4sub1[] = { 0, 4, 5, 4, 5, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 5, 4, }; static const static_codebook _huff_book_line_1024x27_4sub1 = { 1, 18, - (long *)_huff_lengthlist_line_1024x27_4sub1, + (char *)_huff_lengthlist_line_1024x27_4sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_4sub2[] = { +static const char _huff_lengthlist_line_1024x27_4sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 4, 2, 5, 3, 5, 4, 6, 6, 6, 7, 7, 8, 7, 8, 7, 8, 7, 9, 8, 9, 8, 9, 8,10, 8,11, 9,12, @@ -1198,13 +1198,13 @@ static const long _huff_lengthlist_line_1024x27_4sub2[] = { static const static_codebook _huff_book_line_1024x27_4sub2 = { 1, 50, - (long *)_huff_lengthlist_line_1024x27_4sub2, + (char *)_huff_lengthlist_line_1024x27_4sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_1024x27_4sub3[] = { +static const char _huff_lengthlist_line_1024x27_4sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1217,37 +1217,37 @@ static const long _huff_lengthlist_line_1024x27_4sub3[] = { static const static_codebook _huff_book_line_1024x27_4sub3 = { 1, 128, - (long *)_huff_lengthlist_line_1024x27_4sub3, + (char *)_huff_lengthlist_line_1024x27_4sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_class1[] = { +static const char _huff_lengthlist_line_2048x27_class1[] = { 2, 6, 8, 9, 7,11,13,13, 1, 3, 5, 5, 6, 6,12,10, }; static const static_codebook _huff_book_line_2048x27_class1 = { 1, 16, - (long *)_huff_lengthlist_line_2048x27_class1, + (char *)_huff_lengthlist_line_2048x27_class1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_class2[] = { +static const char _huff_lengthlist_line_2048x27_class2[] = { 1, 2, 3, 6, 4, 7, 5, 7, }; static const static_codebook _huff_book_line_2048x27_class2 = { 1, 8, - (long *)_huff_lengthlist_line_2048x27_class2, + (char *)_huff_lengthlist_line_2048x27_class2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_class3[] = { +static const char _huff_lengthlist_line_2048x27_class3[] = { 3, 3, 6,16, 5, 5, 7,16, 9, 8,11,16,16,16,16,16, 5, 5, 8,16, 5, 5, 7,16, 8, 7, 9,16,16,16,16,16, 9, 9,12,16, 6, 8,11,16, 9,10,11,16,16,16,16,16, @@ -1268,13 +1268,13 @@ static const long _huff_lengthlist_line_2048x27_class3[] = { static const static_codebook _huff_book_line_2048x27_class3 = { 1, 256, - (long *)_huff_lengthlist_line_2048x27_class3, + (char *)_huff_lengthlist_line_2048x27_class3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_class4[] = { +static const char _huff_lengthlist_line_2048x27_class4[] = { 2, 4, 7,13, 4, 5, 7,15, 8, 7,10,16,16,14,16,16, 2, 4, 7,16, 3, 4, 7,14, 8, 8,10,16,16,16,15,16, 6, 8,11,16, 7, 7, 9,16,11, 9,13,16,16,16,15,16, @@ -1283,13 +1283,13 @@ static const long _huff_lengthlist_line_2048x27_class4[] = { static const static_codebook _huff_book_line_2048x27_class4 = { 1, 64, - (long *)_huff_lengthlist_line_2048x27_class4, + (char *)_huff_lengthlist_line_2048x27_class4, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_0sub0[] = { +static const char _huff_lengthlist_line_2048x27_0sub0[] = { 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 8, 5, 8, 5, 8, 5, 9, 5, 9, 6,10, 6,10, 6,11, 6,11, 6,11, 6,11, 6,11, 6, @@ -1302,26 +1302,26 @@ static const long _huff_lengthlist_line_2048x27_0sub0[] = { static const static_codebook _huff_book_line_2048x27_0sub0 = { 1, 128, - (long *)_huff_lengthlist_line_2048x27_0sub0, + (char *)_huff_lengthlist_line_2048x27_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_1sub0[] = { +static const char _huff_lengthlist_line_2048x27_1sub0[] = { 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 6, 7, 6, 7, 6, 7, 6, }; static const static_codebook _huff_book_line_2048x27_1sub0 = { 1, 32, - (long *)_huff_lengthlist_line_2048x27_1sub0, + (char *)_huff_lengthlist_line_2048x27_1sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_1sub1[] = { +static const char _huff_lengthlist_line_2048x27_1sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 5, 7, 5, 7, 4, 7, 4, 8, 4, 8, 4, 8, 4, 8, 3, @@ -1334,26 +1334,26 @@ static const long _huff_lengthlist_line_2048x27_1sub1[] = { static const static_codebook _huff_book_line_2048x27_1sub1 = { 1, 128, - (long *)_huff_lengthlist_line_2048x27_1sub1, + (char *)_huff_lengthlist_line_2048x27_1sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_2sub0[] = { +static const char _huff_lengthlist_line_2048x27_2sub0[] = { 2, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, }; static const static_codebook _huff_book_line_2048x27_2sub0 = { 1, 32, - (long *)_huff_lengthlist_line_2048x27_2sub0, + (char *)_huff_lengthlist_line_2048x27_2sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_2sub1[] = { +static const char _huff_lengthlist_line_2048x27_2sub1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 4, 4, 5, 4, 5, 5, 5, 6, 6, 6, 7, @@ -1366,26 +1366,26 @@ static const long _huff_lengthlist_line_2048x27_2sub1[] = { static const static_codebook _huff_book_line_2048x27_2sub1 = { 1, 128, - (long *)_huff_lengthlist_line_2048x27_2sub1, + (char *)_huff_lengthlist_line_2048x27_2sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_3sub1[] = { +static const char _huff_lengthlist_line_2048x27_3sub1[] = { 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, }; static const static_codebook _huff_book_line_2048x27_3sub1 = { 1, 18, - (long *)_huff_lengthlist_line_2048x27_3sub1, + (char *)_huff_lengthlist_line_2048x27_3sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_3sub2[] = { +static const char _huff_lengthlist_line_2048x27_3sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 6, 7, 6, 8, 6, 9, 7, 9, 7, 9, 9,11, 9,12, @@ -1394,13 +1394,13 @@ static const long _huff_lengthlist_line_2048x27_3sub2[] = { static const static_codebook _huff_book_line_2048x27_3sub2 = { 1, 50, - (long *)_huff_lengthlist_line_2048x27_3sub2, + (char *)_huff_lengthlist_line_2048x27_3sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_3sub3[] = { +static const char _huff_lengthlist_line_2048x27_3sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1413,26 +1413,26 @@ static const long _huff_lengthlist_line_2048x27_3sub3[] = { static const static_codebook _huff_book_line_2048x27_3sub3 = { 1, 128, - (long *)_huff_lengthlist_line_2048x27_3sub3, + (char *)_huff_lengthlist_line_2048x27_3sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_4sub1[] = { +static const char _huff_lengthlist_line_2048x27_4sub1[] = { 0, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 5, 4, 4, 5, }; static const static_codebook _huff_book_line_2048x27_4sub1 = { 1, 18, - (long *)_huff_lengthlist_line_2048x27_4sub1, + (char *)_huff_lengthlist_line_2048x27_4sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_4sub2[] = { +static const char _huff_lengthlist_line_2048x27_4sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 3, 4, 4, 4, 5, 5, 6, 5, 6, 5, 7, 6, 6, 6, 7, 7, 7, 8, 9, 9, 9,12,10,11,10,10,12, @@ -1441,13 +1441,13 @@ static const long _huff_lengthlist_line_2048x27_4sub2[] = { static const static_codebook _huff_book_line_2048x27_4sub2 = { 1, 50, - (long *)_huff_lengthlist_line_2048x27_4sub2, + (char *)_huff_lengthlist_line_2048x27_4sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_2048x27_4sub3[] = { +static const char _huff_lengthlist_line_2048x27_4sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1460,13 +1460,13 @@ static const long _huff_lengthlist_line_2048x27_4sub3[] = { static const static_codebook _huff_book_line_2048x27_4sub3 = { 1, 128, - (long *)_huff_lengthlist_line_2048x27_4sub3, + (char *)_huff_lengthlist_line_2048x27_4sub3, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4low_class0[] = { +static const char _huff_lengthlist_line_256x4low_class0[] = { 4, 5, 6,11, 5, 5, 6,10, 7, 7, 6, 6,14,13, 9, 9, 6, 6, 6,10, 6, 6, 6, 9, 8, 7, 7, 9,14,12, 8,11, 8, 7, 7,11, 8, 8, 7,11, 9, 9, 7, 9,13,11, 9,13, @@ -1487,50 +1487,50 @@ static const long _huff_lengthlist_line_256x4low_class0[] = { static const static_codebook _huff_book_line_256x4low_class0 = { 1, 256, - (long *)_huff_lengthlist_line_256x4low_class0, + (char *)_huff_lengthlist_line_256x4low_class0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4low_0sub0[] = { +static const char _huff_lengthlist_line_256x4low_0sub0[] = { 1, 3, 2, 3, }; static const static_codebook _huff_book_line_256x4low_0sub0 = { 1, 4, - (long *)_huff_lengthlist_line_256x4low_0sub0, + (char *)_huff_lengthlist_line_256x4low_0sub0, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4low_0sub1[] = { +static const char _huff_lengthlist_line_256x4low_0sub1[] = { 0, 0, 0, 0, 2, 3, 2, 3, 3, 3, }; static const static_codebook _huff_book_line_256x4low_0sub1 = { 1, 10, - (long *)_huff_lengthlist_line_256x4low_0sub1, + (char *)_huff_lengthlist_line_256x4low_0sub1, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4low_0sub2[] = { +static const char _huff_lengthlist_line_256x4low_0sub2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, }; static const static_codebook _huff_book_line_256x4low_0sub2 = { 1, 25, - (long *)_huff_lengthlist_line_256x4low_0sub2, + (char *)_huff_lengthlist_line_256x4low_0sub2, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist_line_256x4low_0sub3[] = { +static const char _huff_lengthlist_line_256x4low_0sub3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 4, 3, 5, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 6, 9, @@ -1539,7 +1539,7 @@ static const long _huff_lengthlist_line_256x4low_0sub3[] = { static const static_codebook _huff_book_line_256x4low_0sub3 = { 1, 64, - (long *)_huff_lengthlist_line_256x4low_0sub3, + (char *)_huff_lengthlist_line_256x4low_0sub3, 0, 0, 0, 0, 0, NULL, 0 diff --git a/drivers/vorbis/books/uncoupled/Makefile.am b/drivers/vorbis/books/uncoupled/Makefile.am deleted file mode 100644 index 93ff417c8f..0000000000 --- a/drivers/vorbis/books/uncoupled/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = res_books_uncoupled.h diff --git a/drivers/vorbis/books/uncoupled/Makefile.in b/drivers/vorbis/books/uncoupled/Makefile.in deleted file mode 100644 index 34362f1454..0000000000 --- a/drivers/vorbis/books/uncoupled/Makefile.in +++ /dev/null @@ -1,356 +0,0 @@ -# Makefile.in generated by automake 1.10.2 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -target_triplet = @target@ -subdir = lib/books/uncoupled -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ -ALLOCA = @ALLOCA@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEBUG = @DEBUG@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GREP = @GREP@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HTLATEX = @HTLATEX@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_DEPS = @LIBTOOL_DEPS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OGG_CFLAGS = @OGG_CFLAGS@ -OGG_LIBS = @OGG_LIBS@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PDFLATEX = @PDFLATEX@ -PKG_CONFIG = @PKG_CONFIG@ -PROFILE = @PROFILE@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -VE_LIB_AGE = @VE_LIB_AGE@ -VE_LIB_CURRENT = @VE_LIB_CURRENT@ -VE_LIB_REVISION = @VE_LIB_REVISION@ -VF_LIB_AGE = @VF_LIB_AGE@ -VF_LIB_CURRENT = @VF_LIB_CURRENT@ -VF_LIB_REVISION = @VF_LIB_REVISION@ -VORBIS_LIBS = @VORBIS_LIBS@ -V_LIB_AGE = @V_LIB_AGE@ -V_LIB_CURRENT = @V_LIB_CURRENT@ -V_LIB_REVISION = @V_LIB_REVISION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -pthread_lib = @pthread_lib@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target = @target@ -target_alias = @target_alias@ -target_cpu = @target_cpu@ -target_os = @target_os@ -target_vendor = @target_vendor@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = res_books_uncoupled.h -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-exec-am: - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: install-ps-am - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/drivers/vorbis/books/uncoupled/res_books_uncoupled.h b/drivers/vorbis/books/uncoupled/res_books_uncoupled.h index d2473635b5..736353b675 100644 --- a/drivers/vorbis/books/uncoupled/res_books_uncoupled.h +++ b/drivers/vorbis/books/uncoupled/res_books_uncoupled.h @@ -11,7 +11,7 @@ ******************************************************************** function: static codebooks autogenerated by huff/huffbuld - last modified: $Id: res_books_uncoupled.h 17022 2010-03-25 03:45:42Z xiphmont $ + last modified: $Id: res_books_uncoupled.h 19057 2014-01-22 12:32:31Z xiphmont $ ********************************************************************/ @@ -23,7 +23,7 @@ static const long _vq_quantlist__16u0__p1_0[] = { 2, }; -static const long _vq_lengthlist__16u0__p1_0[] = { +static const char _vq_lengthlist__16u0__p1_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 8, 5, 8, 8, 8,10,10, 8, 10,11, 5, 8, 8, 8,10,10, 8,10,10, 4, 9, 9, 9,12, 11, 8,11,11, 8,12,11,10,12,14,10,13,13, 7,11,11, @@ -34,7 +34,7 @@ static const long _vq_lengthlist__16u0__p1_0[] = { static const static_codebook _16u0__p1_0 = { 4, 81, - (long *)_vq_lengthlist__16u0__p1_0, + (char *)_vq_lengthlist__16u0__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16u0__p1_0, 0 @@ -46,7 +46,7 @@ static const long _vq_quantlist__16u0__p2_0[] = { 2, }; -static const long _vq_lengthlist__16u0__p2_0[] = { +static const char _vq_lengthlist__16u0__p2_0[] = { 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 9, 7, 8, 9, 5, 7, 7, 7, 9, 8, 7, 9, 7, 4, 7, 7, 7, 9, 9, 7, 8, 8, 6, 9, 8, 7, 8,11, 9,11,10, 6, 8, 9, @@ -57,7 +57,7 @@ static const long _vq_lengthlist__16u0__p2_0[] = { static const static_codebook _16u0__p2_0 = { 4, 81, - (long *)_vq_lengthlist__16u0__p2_0, + (char *)_vq_lengthlist__16u0__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16u0__p2_0, 0 @@ -71,7 +71,7 @@ static const long _vq_quantlist__16u0__p3_0[] = { 4, }; -static const long _vq_lengthlist__16u0__p3_0[] = { +static const char _vq_lengthlist__16u0__p3_0[] = { 1, 5, 5, 7, 7, 6, 7, 7, 8, 8, 6, 7, 8, 8, 8, 8, 9, 9,11,11, 8, 9, 9,11,11, 6, 9, 8,10,10, 8,10, 10,11,11, 8,10,10,11,11,10,11,10,13,12, 9,11,10, @@ -116,7 +116,7 @@ static const long _vq_lengthlist__16u0__p3_0[] = { static const static_codebook _16u0__p3_0 = { 4, 625, - (long *)_vq_lengthlist__16u0__p3_0, + (char *)_vq_lengthlist__16u0__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u0__p3_0, 0 @@ -130,7 +130,7 @@ static const long _vq_quantlist__16u0__p4_0[] = { 4, }; -static const long _vq_lengthlist__16u0__p4_0[] = { +static const char _vq_lengthlist__16u0__p4_0[] = { 3, 5, 5, 8, 8, 6, 6, 6, 9, 9, 6, 6, 6, 9, 9, 9, 10, 9,11,11, 9, 9, 9,11,11, 6, 7, 7,10,10, 7, 7, 8,10,10, 7, 7, 8,10,10,10,10,10,11,12, 9,10,10, @@ -175,7 +175,7 @@ static const long _vq_lengthlist__16u0__p4_0[] = { static const static_codebook _16u0__p4_0 = { 4, 625, - (long *)_vq_lengthlist__16u0__p4_0, + (char *)_vq_lengthlist__16u0__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u0__p4_0, 0 @@ -193,7 +193,7 @@ static const long _vq_quantlist__16u0__p5_0[] = { 8, }; -static const long _vq_lengthlist__16u0__p5_0[] = { +static const char _vq_lengthlist__16u0__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9, 9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,11, 7, 8, 8, @@ -204,7 +204,7 @@ static const long _vq_lengthlist__16u0__p5_0[] = { static const static_codebook _16u0__p5_0 = { 2, 81, - (long *)_vq_lengthlist__16u0__p5_0, + (char *)_vq_lengthlist__16u0__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16u0__p5_0, 0 @@ -226,7 +226,7 @@ static const long _vq_quantlist__16u0__p6_0[] = { 12, }; -static const long _vq_lengthlist__16u0__p6_0[] = { +static const char _vq_lengthlist__16u0__p6_0[] = { 1, 4, 4, 7, 7,10,10,12,12,13,13,18,17, 3, 6, 6, 9, 9,11,11,13,13,14,14,18,17, 3, 6, 6, 9, 9,11, 11,13,13,14,14,17,18, 7, 9, 9,11,11,13,13,14,14, @@ -242,7 +242,7 @@ static const long _vq_lengthlist__16u0__p6_0[] = { static const static_codebook _16u0__p6_0 = { 2, 169, - (long *)_vq_lengthlist__16u0__p6_0, + (char *)_vq_lengthlist__16u0__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__16u0__p6_0, 0 @@ -256,14 +256,14 @@ static const long _vq_quantlist__16u0__p6_1[] = { 4, }; -static const long _vq_lengthlist__16u0__p6_1[] = { +static const char _vq_lengthlist__16u0__p6_1[] = { 1, 4, 5, 6, 6, 4, 6, 6, 6, 6, 4, 6, 6, 6, 6, 6, 6, 6, 7, 7, 6, 6, 6, 7, 7, }; static const static_codebook _16u0__p6_1 = { 2, 25, - (long *)_vq_lengthlist__16u0__p6_1, + (char *)_vq_lengthlist__16u0__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u0__p6_1, 0 @@ -275,7 +275,7 @@ static const long _vq_quantlist__16u0__p7_0[] = { 2, }; -static const long _vq_lengthlist__16u0__p7_0[] = { +static const char _vq_lengthlist__16u0__p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -286,7 +286,7 @@ static const long _vq_lengthlist__16u0__p7_0[] = { static const static_codebook _16u0__p7_0 = { 4, 81, - (long *)_vq_lengthlist__16u0__p7_0, + (char *)_vq_lengthlist__16u0__p7_0, 1, -518803456, 1628680192, 2, 0, (long *)_vq_quantlist__16u0__p7_0, 0 @@ -310,7 +310,7 @@ static const long _vq_quantlist__16u0__p7_1[] = { 14, }; -static const long _vq_lengthlist__16u0__p7_1[] = { +static const char _vq_lengthlist__16u0__p7_1[] = { 1, 5, 5, 6, 5, 9,10,11,11,10,10,10,10,10,10, 5, 8, 8, 8,10,10,10,10,10,10,10,10,10,10,10, 5, 8, 9, 9, 9,10,10,10,10,10,10,10,10,10,10, 5,10, 8, @@ -330,7 +330,7 @@ static const long _vq_lengthlist__16u0__p7_1[] = { static const static_codebook _16u0__p7_1 = { 2, 225, - (long *)_vq_lengthlist__16u0__p7_1, + (char *)_vq_lengthlist__16u0__p7_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__16u0__p7_1, 0 @@ -360,7 +360,7 @@ static const long _vq_quantlist__16u0__p7_2[] = { 20, }; -static const long _vq_lengthlist__16u0__p7_2[] = { +static const char _vq_lengthlist__16u0__p7_2[] = { 1, 6, 6, 7, 8, 7, 7,10, 9,10, 9,11,10, 9,11,10, 9, 9, 9, 9,10, 6, 8, 7, 9, 9, 8, 8,10,10, 9,11, 11,12,12,10, 9,11, 9,12,10, 9, 6, 9, 8, 9,12, 8, @@ -393,13 +393,13 @@ static const long _vq_lengthlist__16u0__p7_2[] = { static const static_codebook _16u0__p7_2 = { 2, 441, - (long *)_vq_lengthlist__16u0__p7_2, + (char *)_vq_lengthlist__16u0__p7_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__16u0__p7_2, 0 }; -static const long _huff_lengthlist__16u0__single[] = { +static const char _huff_lengthlist__16u0__single[] = { 3, 5, 8, 7,14, 8, 9,19, 5, 2, 5, 5, 9, 6, 9,19, 8, 4, 5, 7, 8, 9,13,19, 7, 4, 6, 5, 9, 6, 9,19, 12, 8, 7, 9,10,11,13,19, 8, 5, 8, 6, 9, 6, 7,19, @@ -408,13 +408,13 @@ static const long _huff_lengthlist__16u0__single[] = { static const static_codebook _huff_book__16u0__single = { 2, 64, - (long *)_huff_lengthlist__16u0__single, + (char *)_huff_lengthlist__16u0__single, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__16u1__long[] = { +static const char _huff_lengthlist__16u1__long[] = { 3, 6,10, 8,12, 8,14, 8,14,19, 5, 3, 5, 5, 7, 6, 11, 7,16,19, 7, 5, 6, 7, 7, 9,11,12,19,19, 6, 4, 7, 5, 7, 6,10, 7,18,18, 8, 6, 7, 7, 7, 7, 8, 9, @@ -426,7 +426,7 @@ static const long _huff_lengthlist__16u1__long[] = { static const static_codebook _huff_book__16u1__long = { 2, 100, - (long *)_huff_lengthlist__16u1__long, + (char *)_huff_lengthlist__16u1__long, 0, 0, 0, 0, 0, NULL, 0 @@ -438,7 +438,7 @@ static const long _vq_quantlist__16u1__p1_0[] = { 2, }; -static const long _vq_lengthlist__16u1__p1_0[] = { +static const char _vq_lengthlist__16u1__p1_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 7, 7,10,10, 7, 9,10, 5, 7, 8, 7,10, 9, 7,10,10, 5, 8, 8, 8,10, 10, 8,10,10, 7,10,10,10,11,12,10,12,13, 7,10,10, @@ -449,7 +449,7 @@ static const long _vq_lengthlist__16u1__p1_0[] = { static const static_codebook _16u1__p1_0 = { 4, 81, - (long *)_vq_lengthlist__16u1__p1_0, + (char *)_vq_lengthlist__16u1__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16u1__p1_0, 0 @@ -461,7 +461,7 @@ static const long _vq_quantlist__16u1__p2_0[] = { 2, }; -static const long _vq_lengthlist__16u1__p2_0[] = { +static const char _vq_lengthlist__16u1__p2_0[] = { 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 8, 6, 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, 8, 8, 7, 7,10, 8, 9, 9, 6, 8, 8, @@ -472,7 +472,7 @@ static const long _vq_lengthlist__16u1__p2_0[] = { static const static_codebook _16u1__p2_0 = { 4, 81, - (long *)_vq_lengthlist__16u1__p2_0, + (char *)_vq_lengthlist__16u1__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16u1__p2_0, 0 @@ -486,7 +486,7 @@ static const long _vq_quantlist__16u1__p3_0[] = { 4, }; -static const long _vq_lengthlist__16u1__p3_0[] = { +static const char _vq_lengthlist__16u1__p3_0[] = { 1, 5, 5, 8, 8, 6, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9, 10, 9,11,11, 9, 9,10,11,11, 6, 8, 8,10,10, 8, 9, 10,11,11, 8, 9,10,11,11,10,11,11,12,13,10,11,11, @@ -531,7 +531,7 @@ static const long _vq_lengthlist__16u1__p3_0[] = { static const static_codebook _16u1__p3_0 = { 4, 625, - (long *)_vq_lengthlist__16u1__p3_0, + (char *)_vq_lengthlist__16u1__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u1__p3_0, 0 @@ -545,7 +545,7 @@ static const long _vq_quantlist__16u1__p4_0[] = { 4, }; -static const long _vq_lengthlist__16u1__p4_0[] = { +static const char _vq_lengthlist__16u1__p4_0[] = { 4, 5, 5, 8, 8, 6, 6, 7, 9, 9, 6, 6, 6, 9, 9, 9, 10, 9,11,11, 9, 9,10,11,11, 6, 7, 7,10, 9, 7, 7, 8, 9,10, 7, 7, 8,10,10,10,10,10,10,12, 9, 9,10, @@ -590,7 +590,7 @@ static const long _vq_lengthlist__16u1__p4_0[] = { static const static_codebook _16u1__p4_0 = { 4, 625, - (long *)_vq_lengthlist__16u1__p4_0, + (char *)_vq_lengthlist__16u1__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u1__p4_0, 0 @@ -608,7 +608,7 @@ static const long _vq_quantlist__16u1__p5_0[] = { 8, }; -static const long _vq_lengthlist__16u1__p5_0[] = { +static const char _vq_lengthlist__16u1__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8, 10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, @@ -619,7 +619,7 @@ static const long _vq_lengthlist__16u1__p5_0[] = { static const static_codebook _16u1__p5_0 = { 2, 81, - (long *)_vq_lengthlist__16u1__p5_0, + (char *)_vq_lengthlist__16u1__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16u1__p5_0, 0 @@ -637,7 +637,7 @@ static const long _vq_quantlist__16u1__p6_0[] = { 8, }; -static const long _vq_lengthlist__16u1__p6_0[] = { +static const char _vq_lengthlist__16u1__p6_0[] = { 3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 4, 6, 6, 8, 8, 9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7, 8, 8,10, 9, 6, 6, 6, 7, 7, 8, 8, 9,10, 7, 8, 7, @@ -648,7 +648,7 @@ static const long _vq_lengthlist__16u1__p6_0[] = { static const static_codebook _16u1__p6_0 = { 2, 81, - (long *)_vq_lengthlist__16u1__p6_0, + (char *)_vq_lengthlist__16u1__p6_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16u1__p6_0, 0 @@ -660,7 +660,7 @@ static const long _vq_quantlist__16u1__p7_0[] = { 2, }; -static const long _vq_lengthlist__16u1__p7_0[] = { +static const char _vq_lengthlist__16u1__p7_0[] = { 1, 4, 4, 4, 8, 8, 4, 8, 8, 5,11, 9, 8,12,11, 8, 12,11, 5,10,11, 8,11,12, 8,11,12, 4,11,11,11,14, 13,10,13,13, 8,14,13,12,14,16,12,16,15, 8,14,14, @@ -671,7 +671,7 @@ static const long _vq_lengthlist__16u1__p7_0[] = { static const static_codebook _16u1__p7_0 = { 4, 81, - (long *)_vq_lengthlist__16u1__p7_0, + (char *)_vq_lengthlist__16u1__p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__16u1__p7_0, 0 @@ -691,7 +691,7 @@ static const long _vq_quantlist__16u1__p7_1[] = { 10, }; -static const long _vq_lengthlist__16u1__p7_1[] = { +static const char _vq_lengthlist__16u1__p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 5, 7, 7, 8, 8, 8, 8, 8, 8, 4, 5, 6, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, @@ -704,7 +704,7 @@ static const long _vq_lengthlist__16u1__p7_1[] = { static const static_codebook _16u1__p7_1 = { 2, 121, - (long *)_vq_lengthlist__16u1__p7_1, + (char *)_vq_lengthlist__16u1__p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16u1__p7_1, 0 @@ -724,7 +724,7 @@ static const long _vq_quantlist__16u1__p8_0[] = { 10, }; -static const long _vq_lengthlist__16u1__p8_0[] = { +static const char _vq_lengthlist__16u1__p8_0[] = { 1, 4, 4, 5, 5, 8, 8,10,10,12,12, 4, 7, 7, 8, 8, 9, 9,12,11,14,13, 4, 7, 7, 7, 8, 9,10,11,11,13, 12, 5, 8, 8, 9, 9,11,11,12,13,15,14, 5, 7, 8, 9, @@ -737,7 +737,7 @@ static const long _vq_lengthlist__16u1__p8_0[] = { static const static_codebook _16u1__p8_0 = { 2, 121, - (long *)_vq_lengthlist__16u1__p8_0, + (char *)_vq_lengthlist__16u1__p8_0, 1, -524582912, 1618345984, 4, 0, (long *)_vq_quantlist__16u1__p8_0, 0 @@ -757,7 +757,7 @@ static const long _vq_quantlist__16u1__p8_1[] = { 10, }; -static const long _vq_lengthlist__16u1__p8_1[] = { +static const char _vq_lengthlist__16u1__p8_1[] = { 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 6, 7, 7, 7, @@ -770,7 +770,7 @@ static const long _vq_lengthlist__16u1__p8_1[] = { static const static_codebook _16u1__p8_1 = { 2, 121, - (long *)_vq_lengthlist__16u1__p8_1, + (char *)_vq_lengthlist__16u1__p8_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16u1__p8_1, 0 @@ -794,7 +794,7 @@ static const long _vq_quantlist__16u1__p9_0[] = { 14, }; -static const long _vq_lengthlist__16u1__p9_0[] = { +static const char _vq_lengthlist__16u1__p9_0[] = { 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -814,7 +814,7 @@ static const long _vq_lengthlist__16u1__p9_0[] = { static const static_codebook _16u1__p9_0 = { 2, 225, - (long *)_vq_lengthlist__16u1__p9_0, + (char *)_vq_lengthlist__16u1__p9_0, 1, -514071552, 1627381760, 4, 0, (long *)_vq_quantlist__16u1__p9_0, 0 @@ -838,7 +838,7 @@ static const long _vq_quantlist__16u1__p9_1[] = { 14, }; -static const long _vq_lengthlist__16u1__p9_1[] = { +static const char _vq_lengthlist__16u1__p9_1[] = { 1, 6, 5, 9, 9,10,10, 6, 7, 9, 9,10,10,10,10, 5, 10, 8,10, 8,10,10, 8, 8,10, 9,10,10,10,10, 5, 8, 9,10,10,10,10, 8,10,10,10,10,10,10,10, 9,10,10, @@ -858,7 +858,7 @@ static const long _vq_lengthlist__16u1__p9_1[] = { static const static_codebook _16u1__p9_1 = { 2, 225, - (long *)_vq_lengthlist__16u1__p9_1, + (char *)_vq_lengthlist__16u1__p9_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__16u1__p9_1, 0 @@ -884,7 +884,7 @@ static const long _vq_quantlist__16u1__p9_2[] = { 16, }; -static const long _vq_lengthlist__16u1__p9_2[] = { +static const char _vq_lengthlist__16u1__p9_2[] = { 1, 6, 6, 7, 8, 8,11,10, 9, 9,11, 9,10, 9,11,11, 9, 6, 7, 6,11, 8,11, 9,10,10,11, 9,11,10,10,10, 11, 9, 5, 7, 7, 8, 8,10,11, 8, 8,11, 9, 9,10,11, @@ -908,13 +908,13 @@ static const long _vq_lengthlist__16u1__p9_2[] = { static const static_codebook _16u1__p9_2 = { 2, 289, - (long *)_vq_lengthlist__16u1__p9_2, + (char *)_vq_lengthlist__16u1__p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__16u1__p9_2, 0 }; -static const long _huff_lengthlist__16u1__short[] = { +static const char _huff_lengthlist__16u1__short[] = { 5, 7,10, 9,11,10,15,11,13,16, 6, 4, 6, 6, 7, 7, 10, 9,12,16,10, 6, 5, 6, 6, 7,10,11,16,16, 9, 6, 7, 6, 7, 7,10, 8,14,16,11, 6, 5, 4, 5, 6, 8, 9, @@ -926,13 +926,13 @@ static const long _huff_lengthlist__16u1__short[] = { static const static_codebook _huff_book__16u1__short = { 2, 100, - (long *)_huff_lengthlist__16u1__short, + (char *)_huff_lengthlist__16u1__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__16u2__long[] = { +static const char _huff_lengthlist__16u2__long[] = { 5, 8,10,10,10,11,11,12,14,18, 7, 5, 5, 6, 8, 9, 10,12,14,17, 9, 5, 4, 5, 6, 8,10,11,13,19, 9, 5, 4, 4, 5, 6, 9,10,12,17, 8, 6, 5, 4, 4, 5, 7,10, @@ -944,7 +944,7 @@ static const long _huff_lengthlist__16u2__long[] = { static const static_codebook _huff_book__16u2__long = { 2, 100, - (long *)_huff_lengthlist__16u2__long, + (char *)_huff_lengthlist__16u2__long, 0, 0, 0, 0, 0, NULL, 0 @@ -956,7 +956,7 @@ static const long _vq_quantlist__16u2_p1_0[] = { 2, }; -static const long _vq_lengthlist__16u2_p1_0[] = { +static const char _vq_lengthlist__16u2_p1_0[] = { 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 8, 9, 9, 5, 7, 7, 8, 9, 9, 7, 9, 9, 7, 9, 9, 9,10,11, 9,10,10, 7, 9, 9, @@ -967,7 +967,7 @@ static const long _vq_lengthlist__16u2_p1_0[] = { static const static_codebook _16u2_p1_0 = { 4, 81, - (long *)_vq_lengthlist__16u2_p1_0, + (char *)_vq_lengthlist__16u2_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__16u2_p1_0, 0 @@ -981,7 +981,7 @@ static const long _vq_quantlist__16u2_p2_0[] = { 4, }; -static const long _vq_lengthlist__16u2_p2_0[] = { +static const char _vq_lengthlist__16u2_p2_0[] = { 3, 5, 5, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9, 10, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 8, 8,10,10,10,10,10,12,12, 9,10,10, @@ -1026,7 +1026,7 @@ static const long _vq_lengthlist__16u2_p2_0[] = { static const static_codebook _16u2_p2_0 = { 4, 625, - (long *)_vq_lengthlist__16u2_p2_0, + (char *)_vq_lengthlist__16u2_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u2_p2_0, 0 @@ -1044,7 +1044,7 @@ static const long _vq_quantlist__16u2_p3_0[] = { 8, }; -static const long _vq_lengthlist__16u2_p3_0[] = { +static const char _vq_lengthlist__16u2_p3_0[] = { 2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 5, 6, 6, 8, 7, 9, 9, 4, 5, 5, 6, 6, 7, 8, 9, 9, 6, 6, 6, 7, 7, 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7, @@ -1055,7 +1055,7 @@ static const long _vq_lengthlist__16u2_p3_0[] = { static const static_codebook _16u2_p3_0 = { 2, 81, - (long *)_vq_lengthlist__16u2_p3_0, + (char *)_vq_lengthlist__16u2_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__16u2_p3_0, 0 @@ -1081,7 +1081,7 @@ static const long _vq_quantlist__16u2_p4_0[] = { 16, }; -static const long _vq_lengthlist__16u2_p4_0[] = { +static const char _vq_lengthlist__16u2_p4_0[] = { 2, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,11, 11, 5, 5, 5, 7, 6, 8, 7, 9, 9, 9, 9,10,10,11,11, 12,12, 5, 5, 5, 6, 6, 7, 8, 8, 9, 9, 9,10,10,11, @@ -1105,7 +1105,7 @@ static const long _vq_lengthlist__16u2_p4_0[] = { static const static_codebook _16u2_p4_0 = { 2, 289, - (long *)_vq_lengthlist__16u2_p4_0, + (char *)_vq_lengthlist__16u2_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__16u2_p4_0, 0 @@ -1117,7 +1117,7 @@ static const long _vq_quantlist__16u2_p5_0[] = { 2, }; -static const long _vq_lengthlist__16u2_p5_0[] = { +static const char _vq_lengthlist__16u2_p5_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 7, 9, 9, 7, 9,10, 5, 8, 8, 7,10, 9, 7,10, 9, 5, 8, 8, 8,11, 10, 8,10,10, 7,10,10, 9, 9,12,10,12,12, 7,10,10, @@ -1128,7 +1128,7 @@ static const long _vq_lengthlist__16u2_p5_0[] = { static const static_codebook _16u2_p5_0 = { 4, 81, - (long *)_vq_lengthlist__16u2_p5_0, + (char *)_vq_lengthlist__16u2_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__16u2_p5_0, 0 @@ -1148,7 +1148,7 @@ static const long _vq_quantlist__16u2_p5_1[] = { 10, }; -static const long _vq_lengthlist__16u2_p5_1[] = { +static const char _vq_lengthlist__16u2_p5_1[] = { 2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, @@ -1161,7 +1161,7 @@ static const long _vq_lengthlist__16u2_p5_1[] = { static const static_codebook _16u2_p5_1 = { 2, 121, - (long *)_vq_lengthlist__16u2_p5_1, + (char *)_vq_lengthlist__16u2_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16u2_p5_1, 0 @@ -1183,7 +1183,7 @@ static const long _vq_quantlist__16u2_p6_0[] = { 12, }; -static const long _vq_lengthlist__16u2_p6_0[] = { +static const char _vq_lengthlist__16u2_p6_0[] = { 1, 5, 4, 7, 7, 8, 8, 8, 8,10,10,11,11, 4, 6, 6, 7, 7, 9, 9, 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9, 9, 9,10,10,11,11, 7, 8, 8, 9, 9, 9, 9,10,10, @@ -1199,7 +1199,7 @@ static const long _vq_lengthlist__16u2_p6_0[] = { static const static_codebook _16u2_p6_0 = { 2, 169, - (long *)_vq_lengthlist__16u2_p6_0, + (char *)_vq_lengthlist__16u2_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__16u2_p6_0, 0 @@ -1213,14 +1213,14 @@ static const long _vq_quantlist__16u2_p6_1[] = { 4, }; -static const long _vq_lengthlist__16u2_p6_1[] = { +static const char _vq_lengthlist__16u2_p6_1[] = { 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _16u2_p6_1 = { 2, 25, - (long *)_vq_lengthlist__16u2_p6_1, + (char *)_vq_lengthlist__16u2_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__16u2_p6_1, 0 @@ -1242,7 +1242,7 @@ static const long _vq_quantlist__16u2_p7_0[] = { 12, }; -static const long _vq_lengthlist__16u2_p7_0[] = { +static const char _vq_lengthlist__16u2_p7_0[] = { 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,10, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11, 7, 8, 8,10, 9,10,10,10,10, @@ -1258,7 +1258,7 @@ static const long _vq_lengthlist__16u2_p7_0[] = { static const static_codebook _16u2_p7_0 = { 2, 169, - (long *)_vq_lengthlist__16u2_p7_0, + (char *)_vq_lengthlist__16u2_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__16u2_p7_0, 0 @@ -1278,7 +1278,7 @@ static const long _vq_quantlist__16u2_p7_1[] = { 10, }; -static const long _vq_lengthlist__16u2_p7_1[] = { +static const char _vq_lengthlist__16u2_p7_1[] = { 2, 5, 5, 7, 7, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, @@ -1291,7 +1291,7 @@ static const long _vq_lengthlist__16u2_p7_1[] = { static const static_codebook _16u2_p7_1 = { 2, 121, - (long *)_vq_lengthlist__16u2_p7_1, + (char *)_vq_lengthlist__16u2_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__16u2_p7_1, 0 @@ -1315,7 +1315,7 @@ static const long _vq_quantlist__16u2_p8_0[] = { 14, }; -static const long _vq_lengthlist__16u2_p8_0[] = { +static const char _vq_lengthlist__16u2_p8_0[] = { 1, 4, 4, 7, 7, 8, 8, 7, 7, 9, 8,10, 9,11,11, 4, 7, 6, 9, 8, 9, 9, 9, 9,10, 9,11, 9,12, 9, 4, 6, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,11,12, 7, 9, 8, @@ -1335,7 +1335,7 @@ static const long _vq_lengthlist__16u2_p8_0[] = { static const static_codebook _16u2_p8_0 = { 2, 225, - (long *)_vq_lengthlist__16u2_p8_0, + (char *)_vq_lengthlist__16u2_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__16u2_p8_0, 0 @@ -1365,7 +1365,7 @@ static const long _vq_quantlist__16u2_p8_1[] = { 20, }; -static const long _vq_lengthlist__16u2_p8_1[] = { +static const char _vq_lengthlist__16u2_p8_1[] = { 3, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,10,10,10, 5, 6, 6, 7, 7, 8, @@ -1398,7 +1398,7 @@ static const long _vq_lengthlist__16u2_p8_1[] = { static const static_codebook _16u2_p8_1 = { 2, 441, - (long *)_vq_lengthlist__16u2_p8_1, + (char *)_vq_lengthlist__16u2_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__16u2_p8_1, 0 @@ -1422,7 +1422,7 @@ static const long _vq_quantlist__16u2_p9_0[] = { 14, }; -static const long _vq_lengthlist__16u2_p9_0[] = { +static const char _vq_lengthlist__16u2_p9_0[] = { 1, 5, 3, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -1442,7 +1442,7 @@ static const long _vq_lengthlist__16u2_p9_0[] = { static const static_codebook _16u2_p9_0 = { 2, 225, - (long *)_vq_lengthlist__16u2_p9_0, + (char *)_vq_lengthlist__16u2_p9_0, 1, -510036736, 1631393792, 4, 0, (long *)_vq_quantlist__16u2_p9_0, 0 @@ -1470,7 +1470,7 @@ static const long _vq_quantlist__16u2_p9_1[] = { 18, }; -static const long _vq_lengthlist__16u2_p9_1[] = { +static const char _vq_lengthlist__16u2_p9_1[] = { 1, 4, 4, 7, 7, 7, 7, 7, 6, 9, 7,10, 8,12,12,13, 13,14,14, 4, 7, 7, 9, 9, 9, 8, 9, 8,10, 9,11, 9, 14, 9,14,10,13,11, 4, 7, 7, 9, 9, 9, 9, 8, 9,10, @@ -1498,7 +1498,7 @@ static const long _vq_lengthlist__16u2_p9_1[] = { static const static_codebook _16u2_p9_1 = { 2, 361, - (long *)_vq_lengthlist__16u2_p9_1, + (char *)_vq_lengthlist__16u2_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__16u2_p9_1, 0 @@ -1556,7 +1556,7 @@ static const long _vq_quantlist__16u2_p9_2[] = { 48, }; -static const long _vq_lengthlist__16u2_p9_2[] = { +static const char _vq_lengthlist__16u2_p9_2[] = { 2, 3, 4, 4, 4, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8, @@ -1565,13 +1565,13 @@ static const long _vq_lengthlist__16u2_p9_2[] = { static const static_codebook _16u2_p9_2 = { 1, 49, - (long *)_vq_lengthlist__16u2_p9_2, + (char *)_vq_lengthlist__16u2_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__16u2_p9_2, 0 }; -static const long _huff_lengthlist__16u2__short[] = { +static const char _huff_lengthlist__16u2__short[] = { 8,11,13,13,15,16,19,19,19,19,11, 8, 8, 9, 9,11, 13,15,19,20,14, 8, 7, 7, 8, 9,12,13,15,20,15, 9, 6, 5, 5, 7,10,12,14,18,14, 9, 7, 5, 3, 4, 7,10, @@ -1583,7 +1583,7 @@ static const long _huff_lengthlist__16u2__short[] = { static const static_codebook _huff_book__16u2__short = { 2, 100, - (long *)_huff_lengthlist__16u2__short, + (char *)_huff_lengthlist__16u2__short, 0, 0, 0, 0, 0, NULL, 0 @@ -1595,7 +1595,7 @@ static const long _vq_quantlist__8u0__p1_0[] = { 2, }; -static const long _vq_lengthlist__8u0__p1_0[] = { +static const char _vq_lengthlist__8u0__p1_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7, 10,10, 5, 8, 8, 7,10,10, 8,10,10, 4, 9, 8, 8,11, 11, 8,11,11, 7,11,11,10,11,13,10,13,13, 7,11,11, @@ -1606,7 +1606,7 @@ static const long _vq_lengthlist__8u0__p1_0[] = { static const static_codebook _8u0__p1_0 = { 4, 81, - (long *)_vq_lengthlist__8u0__p1_0, + (char *)_vq_lengthlist__8u0__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8u0__p1_0, 0 @@ -1618,7 +1618,7 @@ static const long _vq_quantlist__8u0__p2_0[] = { 2, }; -static const long _vq_lengthlist__8u0__p2_0[] = { +static const char _vq_lengthlist__8u0__p2_0[] = { 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 6, 7, 8, 6, 7, 8, 5, 7, 7, 6, 8, 8, 7, 9, 7, 5, 7, 7, 7, 9, 9, 7, 8, 8, 6, 9, 8, 7, 7,10, 8,10,10, 6, 8, 8, @@ -1629,7 +1629,7 @@ static const long _vq_lengthlist__8u0__p2_0[] = { static const static_codebook _8u0__p2_0 = { 4, 81, - (long *)_vq_lengthlist__8u0__p2_0, + (char *)_vq_lengthlist__8u0__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8u0__p2_0, 0 @@ -1643,7 +1643,7 @@ static const long _vq_quantlist__8u0__p3_0[] = { 4, }; -static const long _vq_lengthlist__8u0__p3_0[] = { +static const char _vq_lengthlist__8u0__p3_0[] = { 1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8, 10, 9,11,11, 8, 9, 9,11,11, 6, 8, 8,10,10, 8,10, 10,11,11, 8,10,10,11,11,10,11,11,12,12,10,11,11, @@ -1688,7 +1688,7 @@ static const long _vq_lengthlist__8u0__p3_0[] = { static const static_codebook _8u0__p3_0 = { 4, 625, - (long *)_vq_lengthlist__8u0__p3_0, + (char *)_vq_lengthlist__8u0__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8u0__p3_0, 0 @@ -1702,7 +1702,7 @@ static const long _vq_quantlist__8u0__p4_0[] = { 4, }; -static const long _vq_lengthlist__8u0__p4_0[] = { +static const char _vq_lengthlist__8u0__p4_0[] = { 3, 5, 5, 8, 8, 5, 6, 7, 9, 9, 6, 7, 6, 9, 9, 9, 9, 9,10,11, 9, 9, 9,11,10, 6, 7, 7,10,10, 7, 7, 8,10,10, 7, 8, 8,10,10,10,10,10,10,11, 9,10,10, @@ -1747,7 +1747,7 @@ static const long _vq_lengthlist__8u0__p4_0[] = { static const static_codebook _8u0__p4_0 = { 4, 625, - (long *)_vq_lengthlist__8u0__p4_0, + (char *)_vq_lengthlist__8u0__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8u0__p4_0, 0 @@ -1765,7 +1765,7 @@ static const long _vq_quantlist__8u0__p5_0[] = { 8, }; -static const long _vq_lengthlist__8u0__p5_0[] = { +static const char _vq_lengthlist__8u0__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 7, 8, 8, 10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 6, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, @@ -1776,7 +1776,7 @@ static const long _vq_lengthlist__8u0__p5_0[] = { static const static_codebook _8u0__p5_0 = { 2, 81, - (long *)_vq_lengthlist__8u0__p5_0, + (char *)_vq_lengthlist__8u0__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8u0__p5_0, 0 @@ -1798,7 +1798,7 @@ static const long _vq_quantlist__8u0__p6_0[] = { 12, }; -static const long _vq_lengthlist__8u0__p6_0[] = { +static const char _vq_lengthlist__8u0__p6_0[] = { 1, 4, 4, 7, 7, 9, 9,11,11,12,12,16,16, 3, 6, 6, 9, 9,11,11,12,12,13,14,18,16, 3, 6, 7, 9, 9,11, 11,13,12,14,14,17,16, 7, 9, 9,11,11,12,12,14,14, @@ -1814,7 +1814,7 @@ static const long _vq_lengthlist__8u0__p6_0[] = { static const static_codebook _8u0__p6_0 = { 2, 169, - (long *)_vq_lengthlist__8u0__p6_0, + (char *)_vq_lengthlist__8u0__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__8u0__p6_0, 0 @@ -1828,14 +1828,14 @@ static const long _vq_quantlist__8u0__p6_1[] = { 4, }; -static const long _vq_lengthlist__8u0__p6_1[] = { +static const char _vq_lengthlist__8u0__p6_1[] = { 1, 4, 4, 6, 6, 4, 6, 5, 7, 7, 4, 5, 6, 7, 7, 6, 7, 7, 7, 7, 6, 7, 7, 7, 7, }; static const static_codebook _8u0__p6_1 = { 2, 25, - (long *)_vq_lengthlist__8u0__p6_1, + (char *)_vq_lengthlist__8u0__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8u0__p6_1, 0 @@ -1847,7 +1847,7 @@ static const long _vq_quantlist__8u0__p7_0[] = { 2, }; -static const long _vq_lengthlist__8u0__p7_0[] = { +static const char _vq_lengthlist__8u0__p7_0[] = { 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -1858,7 +1858,7 @@ static const long _vq_lengthlist__8u0__p7_0[] = { static const static_codebook _8u0__p7_0 = { 4, 81, - (long *)_vq_lengthlist__8u0__p7_0, + (char *)_vq_lengthlist__8u0__p7_0, 1, -518803456, 1628680192, 2, 0, (long *)_vq_quantlist__8u0__p7_0, 0 @@ -1882,7 +1882,7 @@ static const long _vq_quantlist__8u0__p7_1[] = { 14, }; -static const long _vq_lengthlist__8u0__p7_1[] = { +static const char _vq_lengthlist__8u0__p7_1[] = { 1, 5, 5, 5, 5,10,10,11,11,11,11,11,11,11,11, 5, 7, 6, 8, 8, 9,10,11,11,11,11,11,11,11,11, 6, 6, 7, 9, 7,11,10,11,11,11,11,11,11,11,11, 5, 6, 6, @@ -1902,7 +1902,7 @@ static const long _vq_lengthlist__8u0__p7_1[] = { static const static_codebook _8u0__p7_1 = { 2, 225, - (long *)_vq_lengthlist__8u0__p7_1, + (char *)_vq_lengthlist__8u0__p7_1, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__8u0__p7_1, 0 @@ -1932,7 +1932,7 @@ static const long _vq_quantlist__8u0__p7_2[] = { 20, }; -static const long _vq_lengthlist__8u0__p7_2[] = { +static const char _vq_lengthlist__8u0__p7_2[] = { 1, 6, 5, 7, 7, 9, 9, 9, 9,10,12,12,10,11,11,10, 11,11,11,10,11, 6, 8, 8, 9, 9,10,10, 9,10,11,11, 10,11,11,11,11,10,11,11,11,11, 6, 7, 8, 9, 9, 9, @@ -1965,13 +1965,13 @@ static const long _vq_lengthlist__8u0__p7_2[] = { static const static_codebook _8u0__p7_2 = { 2, 441, - (long *)_vq_lengthlist__8u0__p7_2, + (char *)_vq_lengthlist__8u0__p7_2, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__8u0__p7_2, 0 }; -static const long _huff_lengthlist__8u0__single[] = { +static const char _huff_lengthlist__8u0__single[] = { 4, 7,11, 9,12, 8, 7,10, 6, 4, 5, 5, 7, 5, 6,16, 9, 5, 5, 6, 7, 7, 9,16, 7, 4, 6, 5, 7, 5, 7,17, 10, 7, 7, 8, 7, 7, 8,18, 7, 5, 6, 4, 5, 4, 5,15, @@ -1980,7 +1980,7 @@ static const long _huff_lengthlist__8u0__single[] = { static const static_codebook _huff_book__8u0__single = { 2, 64, - (long *)_huff_lengthlist__8u0__single, + (char *)_huff_lengthlist__8u0__single, 0, 0, 0, 0, 0, NULL, 0 @@ -1992,7 +1992,7 @@ static const long _vq_quantlist__8u1__p1_0[] = { 2, }; -static const long _vq_lengthlist__8u1__p1_0[] = { +static const char _vq_lengthlist__8u1__p1_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 7, 9,10, 7, 9, 9, 5, 8, 8, 7,10, 9, 7, 9, 9, 5, 8, 8, 8,10, 10, 8,10,10, 7,10,10, 9,10,12,10,12,12, 7,10,10, @@ -2003,7 +2003,7 @@ static const long _vq_lengthlist__8u1__p1_0[] = { static const static_codebook _8u1__p1_0 = { 4, 81, - (long *)_vq_lengthlist__8u1__p1_0, + (char *)_vq_lengthlist__8u1__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8u1__p1_0, 0 @@ -2015,7 +2015,7 @@ static const long _vq_quantlist__8u1__p2_0[] = { 2, }; -static const long _vq_lengthlist__8u1__p2_0[] = { +static const char _vq_lengthlist__8u1__p2_0[] = { 3, 4, 5, 5, 6, 6, 5, 6, 6, 5, 7, 6, 6, 7, 8, 6, 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 7, 8, 8, 6, 7, 7, 6, 8, 7, 7, 7, 9, 8, 9, 9, 6, 7, 8, @@ -2026,7 +2026,7 @@ static const long _vq_lengthlist__8u1__p2_0[] = { static const static_codebook _8u1__p2_0 = { 4, 81, - (long *)_vq_lengthlist__8u1__p2_0, + (char *)_vq_lengthlist__8u1__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__8u1__p2_0, 0 @@ -2040,7 +2040,7 @@ static const long _vq_quantlist__8u1__p3_0[] = { 4, }; -static const long _vq_lengthlist__8u1__p3_0[] = { +static const char _vq_lengthlist__8u1__p3_0[] = { 1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8, 10, 9,11,11, 9, 9, 9,11,11, 6, 8, 8,10,10, 8,10, 10,11,11, 8, 9,10,11,11,10,11,11,12,12,10,11,11, @@ -2085,7 +2085,7 @@ static const long _vq_lengthlist__8u1__p3_0[] = { static const static_codebook _8u1__p3_0 = { 4, 625, - (long *)_vq_lengthlist__8u1__p3_0, + (char *)_vq_lengthlist__8u1__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8u1__p3_0, 0 @@ -2099,7 +2099,7 @@ static const long _vq_quantlist__8u1__p4_0[] = { 4, }; -static const long _vq_lengthlist__8u1__p4_0[] = { +static const char _vq_lengthlist__8u1__p4_0[] = { 4, 5, 5, 9, 9, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 9, 9, 9,11,11, 9, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 7, 8, 9,10, 7, 7, 8, 9,10, 9, 9,10,10,11, 9, 9,10, @@ -2144,7 +2144,7 @@ static const long _vq_lengthlist__8u1__p4_0[] = { static const static_codebook _8u1__p4_0 = { 4, 625, - (long *)_vq_lengthlist__8u1__p4_0, + (char *)_vq_lengthlist__8u1__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__8u1__p4_0, 0 @@ -2162,7 +2162,7 @@ static const long _vq_quantlist__8u1__p5_0[] = { 8, }; -static const long _vq_lengthlist__8u1__p5_0[] = { +static const char _vq_lengthlist__8u1__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 5, 8, 7, 8, 8, 10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8, @@ -2173,7 +2173,7 @@ static const long _vq_lengthlist__8u1__p5_0[] = { static const static_codebook _8u1__p5_0 = { 2, 81, - (long *)_vq_lengthlist__8u1__p5_0, + (char *)_vq_lengthlist__8u1__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8u1__p5_0, 0 @@ -2191,7 +2191,7 @@ static const long _vq_quantlist__8u1__p6_0[] = { 8, }; -static const long _vq_lengthlist__8u1__p6_0[] = { +static const char _vq_lengthlist__8u1__p6_0[] = { 3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7, 8, 8, 9, 9, 6, 6, 6, 7, 7, 8, 8, 9, 9, 7, 7, 7, @@ -2202,7 +2202,7 @@ static const long _vq_lengthlist__8u1__p6_0[] = { static const static_codebook _8u1__p6_0 = { 2, 81, - (long *)_vq_lengthlist__8u1__p6_0, + (char *)_vq_lengthlist__8u1__p6_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__8u1__p6_0, 0 @@ -2214,7 +2214,7 @@ static const long _vq_quantlist__8u1__p7_0[] = { 2, }; -static const long _vq_lengthlist__8u1__p7_0[] = { +static const char _vq_lengthlist__8u1__p7_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 9, 8,10,10, 8, 10,10, 5, 9, 9, 7,10,10, 8,10,10, 4,10,10, 9,12, 12, 9,11,11, 7,12,11,10,11,13,10,13,13, 7,12,12, @@ -2225,7 +2225,7 @@ static const long _vq_lengthlist__8u1__p7_0[] = { static const static_codebook _8u1__p7_0 = { 4, 81, - (long *)_vq_lengthlist__8u1__p7_0, + (char *)_vq_lengthlist__8u1__p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__8u1__p7_0, 0 @@ -2245,7 +2245,7 @@ static const long _vq_quantlist__8u1__p7_1[] = { 10, }; -static const long _vq_lengthlist__8u1__p7_1[] = { +static const char _vq_lengthlist__8u1__p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, @@ -2258,7 +2258,7 @@ static const long _vq_lengthlist__8u1__p7_1[] = { static const static_codebook _8u1__p7_1 = { 2, 121, - (long *)_vq_lengthlist__8u1__p7_1, + (char *)_vq_lengthlist__8u1__p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__8u1__p7_1, 0 @@ -2278,7 +2278,7 @@ static const long _vq_quantlist__8u1__p8_0[] = { 10, }; -static const long _vq_lengthlist__8u1__p8_0[] = { +static const char _vq_lengthlist__8u1__p8_0[] = { 1, 4, 4, 6, 6, 8, 8,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,11,11,13,12, 4, 6, 6, 7, 7, 9, 9,11,11,12, 12, 6, 7, 7, 9, 9,11,11,12,12,13,13, 6, 7, 7, 9, @@ -2291,7 +2291,7 @@ static const long _vq_lengthlist__8u1__p8_0[] = { static const static_codebook _8u1__p8_0 = { 2, 121, - (long *)_vq_lengthlist__8u1__p8_0, + (char *)_vq_lengthlist__8u1__p8_0, 1, -524582912, 1618345984, 4, 0, (long *)_vq_quantlist__8u1__p8_0, 0 @@ -2311,7 +2311,7 @@ static const long _vq_quantlist__8u1__p8_1[] = { 10, }; -static const long _vq_lengthlist__8u1__p8_1[] = { +static const char _vq_lengthlist__8u1__p8_1[] = { 2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, @@ -2324,7 +2324,7 @@ static const long _vq_lengthlist__8u1__p8_1[] = { static const static_codebook _8u1__p8_1 = { 2, 121, - (long *)_vq_lengthlist__8u1__p8_1, + (char *)_vq_lengthlist__8u1__p8_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__8u1__p8_1, 0 @@ -2348,7 +2348,7 @@ static const long _vq_quantlist__8u1__p9_0[] = { 14, }; -static const long _vq_lengthlist__8u1__p9_0[] = { +static const char _vq_lengthlist__8u1__p9_0[] = { 1, 4, 4,11,11,11,11,11,11,11,11,11,11,11,11, 3, 11, 8,11,11,11,11,11,11,11,11,11,11,11,11, 3, 9, 9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -2368,7 +2368,7 @@ static const long _vq_lengthlist__8u1__p9_0[] = { static const static_codebook _8u1__p9_0 = { 2, 225, - (long *)_vq_lengthlist__8u1__p9_0, + (char *)_vq_lengthlist__8u1__p9_0, 1, -514071552, 1627381760, 4, 0, (long *)_vq_quantlist__8u1__p9_0, 0 @@ -2392,7 +2392,7 @@ static const long _vq_quantlist__8u1__p9_1[] = { 14, }; -static const long _vq_lengthlist__8u1__p9_1[] = { +static const char _vq_lengthlist__8u1__p9_1[] = { 1, 4, 4, 7, 7, 9, 9, 7, 7, 8, 8,10,10,11,11, 4, 7, 7, 9, 9,10,10, 8, 8,10,10,10,11,10,11, 4, 7, 7, 9, 9,10,10, 8, 8,10, 9,11,11,11,11, 7, 9, 9, @@ -2412,7 +2412,7 @@ static const long _vq_lengthlist__8u1__p9_1[] = { static const static_codebook _8u1__p9_1 = { 2, 225, - (long *)_vq_lengthlist__8u1__p9_1, + (char *)_vq_lengthlist__8u1__p9_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__8u1__p9_1, 0 @@ -2438,7 +2438,7 @@ static const long _vq_quantlist__8u1__p9_2[] = { 16, }; -static const long _vq_lengthlist__8u1__p9_2[] = { +static const char _vq_lengthlist__8u1__p9_2[] = { 2, 5, 4, 6, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, @@ -2462,13 +2462,13 @@ static const long _vq_lengthlist__8u1__p9_2[] = { static const static_codebook _8u1__p9_2 = { 2, 289, - (long *)_vq_lengthlist__8u1__p9_2, + (char *)_vq_lengthlist__8u1__p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__8u1__p9_2, 0 }; -static const long _huff_lengthlist__8u1__single[] = { +static const char _huff_lengthlist__8u1__single[] = { 4, 7,13, 9,15, 9,16, 8,10,13, 7, 5, 8, 6, 9, 7, 10, 7,10,11,11, 6, 7, 8, 8, 9, 9, 9,12,16, 8, 5, 8, 6, 8, 6, 9, 7,10,12,11, 7, 7, 7, 6, 7, 7, 7, @@ -2480,13 +2480,13 @@ static const long _huff_lengthlist__8u1__single[] = { static const static_codebook _huff_book__8u1__single = { 2, 100, - (long *)_huff_lengthlist__8u1__single, + (char *)_huff_lengthlist__8u1__single, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u0__long[] = { +static const char _huff_lengthlist__44u0__long[] = { 5, 8,13,10,17,11,11,15, 7, 2, 4, 5, 8, 7, 9,16, 13, 4, 3, 5, 6, 8,11,20,10, 4, 5, 5, 7, 6, 8,18, 15, 7, 6, 7, 8,10,14,20,10, 6, 7, 6, 9, 7, 8,17, @@ -2495,7 +2495,7 @@ static const long _huff_lengthlist__44u0__long[] = { static const static_codebook _huff_book__44u0__long = { 2, 64, - (long *)_huff_lengthlist__44u0__long, + (char *)_huff_lengthlist__44u0__long, 0, 0, 0, 0, 0, NULL, 0 @@ -2507,7 +2507,7 @@ static const long _vq_quantlist__44u0__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u0__p1_0[] = { +static const char _vq_lengthlist__44u0__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8, 10,10, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11, 11, 8,11,11, 8,12,11,11,13,13,11,13,14, 7,11,11, @@ -2518,7 +2518,7 @@ static const long _vq_lengthlist__44u0__p1_0[] = { static const static_codebook _44u0__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u0__p1_0, + (char *)_vq_lengthlist__44u0__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u0__p1_0, 0 @@ -2530,7 +2530,7 @@ static const long _vq_quantlist__44u0__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u0__p2_0[] = { +static const char _vq_lengthlist__44u0__p2_0[] = { 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6, 8, 8, 5, 7, 7, 6, 8, 8, 7, 8, 8, 4, 7, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8, @@ -2541,7 +2541,7 @@ static const long _vq_lengthlist__44u0__p2_0[] = { static const static_codebook _44u0__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u0__p2_0, + (char *)_vq_lengthlist__44u0__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u0__p2_0, 0 @@ -2555,7 +2555,7 @@ static const long _vq_quantlist__44u0__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u0__p3_0[] = { +static const char _vq_lengthlist__44u0__p3_0[] = { 1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9, 10, 9,12,12, 9, 9,10,12,12, 6, 8, 8,11,10, 8,10, 10,11,11, 8, 9,10,11,11,10,11,11,14,13,10,11,11, @@ -2600,7 +2600,7 @@ static const long _vq_lengthlist__44u0__p3_0[] = { static const static_codebook _44u0__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u0__p3_0, + (char *)_vq_lengthlist__44u0__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u0__p3_0, 0 @@ -2614,7 +2614,7 @@ static const long _vq_quantlist__44u0__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u0__p4_0[] = { +static const char _vq_lengthlist__44u0__p4_0[] = { 4, 5, 5, 9, 9, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 9, 10, 9,12,12, 9, 9,10,12,12, 5, 7, 7,10,10, 7, 7, 8,10,10, 6, 7, 8,10,10,10,10,10,11,13,10, 9,10, @@ -2659,7 +2659,7 @@ static const long _vq_lengthlist__44u0__p4_0[] = { static const static_codebook _44u0__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u0__p4_0, + (char *)_vq_lengthlist__44u0__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u0__p4_0, 0 @@ -2677,7 +2677,7 @@ static const long _vq_quantlist__44u0__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u0__p5_0[] = { +static const char _vq_lengthlist__44u0__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9, 9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,10, 7, 8, 8, @@ -2688,7 +2688,7 @@ static const long _vq_lengthlist__44u0__p5_0[] = { static const static_codebook _44u0__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u0__p5_0, + (char *)_vq_lengthlist__44u0__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u0__p5_0, 0 @@ -2710,7 +2710,7 @@ static const long _vq_quantlist__44u0__p6_0[] = { 12, }; -static const long _vq_lengthlist__44u0__p6_0[] = { +static const char _vq_lengthlist__44u0__p6_0[] = { 1, 4, 4, 6, 6, 8, 8,10, 9,11,10,14,13, 4, 6, 5, 8, 8, 9, 9,11,10,11,11,14,14, 4, 5, 6, 8, 8, 9, 9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11, @@ -2726,7 +2726,7 @@ static const long _vq_lengthlist__44u0__p6_0[] = { static const static_codebook _44u0__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u0__p6_0, + (char *)_vq_lengthlist__44u0__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u0__p6_0, 0 @@ -2740,14 +2740,14 @@ static const long _vq_quantlist__44u0__p6_1[] = { 4, }; -static const long _vq_lengthlist__44u0__p6_1[] = { +static const char _vq_lengthlist__44u0__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 5, 6, 6, 6, 6, }; static const static_codebook _44u0__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u0__p6_1, + (char *)_vq_lengthlist__44u0__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u0__p6_1, 0 @@ -2761,7 +2761,7 @@ static const long _vq_quantlist__44u0__p7_0[] = { 4, }; -static const long _vq_lengthlist__44u0__p7_0[] = { +static const char _vq_lengthlist__44u0__p7_0[] = { 1, 4, 4,11,11, 9,11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -2806,7 +2806,7 @@ static const long _vq_lengthlist__44u0__p7_0[] = { static const static_codebook _44u0__p7_0 = { 4, 625, - (long *)_vq_lengthlist__44u0__p7_0, + (char *)_vq_lengthlist__44u0__p7_0, 1, -518709248, 1626677248, 3, 0, (long *)_vq_quantlist__44u0__p7_0, 0 @@ -2828,7 +2828,7 @@ static const long _vq_quantlist__44u0__p7_1[] = { 12, }; -static const long _vq_lengthlist__44u0__p7_1[] = { +static const char _vq_lengthlist__44u0__p7_1[] = { 1, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 5, 7, 7, 8, 7, 7, 7, 9, 8,10, 9,10,11, 5, 7, 7, 8, 8, 7, 7, 8, 9,10,10,11,11, 6, 8, 8, 9, 9, 9, 9,11,10, @@ -2844,7 +2844,7 @@ static const long _vq_lengthlist__44u0__p7_1[] = { static const static_codebook _44u0__p7_1 = { 2, 169, - (long *)_vq_lengthlist__44u0__p7_1, + (char *)_vq_lengthlist__44u0__p7_1, 1, -523010048, 1618608128, 4, 0, (long *)_vq_quantlist__44u0__p7_1, 0 @@ -2866,7 +2866,7 @@ static const long _vq_quantlist__44u0__p7_2[] = { 12, }; -static const long _vq_lengthlist__44u0__p7_2[] = { +static const char _vq_lengthlist__44u0__p7_2[] = { 2, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 5, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, 8, 8, 8, 9, 8, @@ -2882,13 +2882,13 @@ static const long _vq_lengthlist__44u0__p7_2[] = { static const static_codebook _44u0__p7_2 = { 2, 169, - (long *)_vq_lengthlist__44u0__p7_2, + (char *)_vq_lengthlist__44u0__p7_2, 1, -531103744, 1611661312, 4, 0, (long *)_vq_quantlist__44u0__p7_2, 0 }; -static const long _huff_lengthlist__44u0__short[] = { +static const char _huff_lengthlist__44u0__short[] = { 12,13,14,13,17,12,15,17, 5, 5, 6,10,10,11,15,16, 4, 3, 3, 7, 5, 7,10,16, 7, 7, 7,10, 9,11,12,16, 6, 5, 5, 9, 5, 6,10,16, 8, 7, 7, 9, 6, 7, 9,16, @@ -2897,13 +2897,13 @@ static const long _huff_lengthlist__44u0__short[] = { static const static_codebook _huff_book__44u0__short = { 2, 64, - (long *)_huff_lengthlist__44u0__short, + (char *)_huff_lengthlist__44u0__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u1__long[] = { +static const char _huff_lengthlist__44u1__long[] = { 5, 8,13,10,17,11,11,15, 7, 2, 4, 5, 8, 7, 9,16, 13, 4, 3, 5, 6, 8,11,20,10, 4, 5, 5, 7, 6, 8,18, 15, 7, 6, 7, 8,10,14,20,10, 6, 7, 6, 9, 7, 8,17, @@ -2912,7 +2912,7 @@ static const long _huff_lengthlist__44u1__long[] = { static const static_codebook _huff_book__44u1__long = { 2, 64, - (long *)_huff_lengthlist__44u1__long, + (char *)_huff_lengthlist__44u1__long, 0, 0, 0, 0, 0, NULL, 0 @@ -2924,7 +2924,7 @@ static const long _vq_quantlist__44u1__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u1__p1_0[] = { +static const char _vq_lengthlist__44u1__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8, 10,10, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11, 11, 8,11,11, 8,12,11,11,13,13,11,13,14, 7,11,11, @@ -2935,7 +2935,7 @@ static const long _vq_lengthlist__44u1__p1_0[] = { static const static_codebook _44u1__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u1__p1_0, + (char *)_vq_lengthlist__44u1__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u1__p1_0, 0 @@ -2947,7 +2947,7 @@ static const long _vq_quantlist__44u1__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u1__p2_0[] = { +static const char _vq_lengthlist__44u1__p2_0[] = { 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6, 8, 8, 5, 7, 7, 6, 8, 8, 7, 8, 8, 4, 7, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8, @@ -2958,7 +2958,7 @@ static const long _vq_lengthlist__44u1__p2_0[] = { static const static_codebook _44u1__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u1__p2_0, + (char *)_vq_lengthlist__44u1__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u1__p2_0, 0 @@ -2972,7 +2972,7 @@ static const long _vq_quantlist__44u1__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u1__p3_0[] = { +static const char _vq_lengthlist__44u1__p3_0[] = { 1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9, 10, 9,12,12, 9, 9,10,12,12, 6, 8, 8,11,10, 8,10, 10,11,11, 8, 9,10,11,11,10,11,11,14,13,10,11,11, @@ -3017,7 +3017,7 @@ static const long _vq_lengthlist__44u1__p3_0[] = { static const static_codebook _44u1__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u1__p3_0, + (char *)_vq_lengthlist__44u1__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u1__p3_0, 0 @@ -3031,7 +3031,7 @@ static const long _vq_quantlist__44u1__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u1__p4_0[] = { +static const char _vq_lengthlist__44u1__p4_0[] = { 4, 5, 5, 9, 9, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 9, 10, 9,12,12, 9, 9,10,12,12, 5, 7, 7,10,10, 7, 7, 8,10,10, 6, 7, 8,10,10,10,10,10,11,13,10, 9,10, @@ -3076,7 +3076,7 @@ static const long _vq_lengthlist__44u1__p4_0[] = { static const static_codebook _44u1__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u1__p4_0, + (char *)_vq_lengthlist__44u1__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u1__p4_0, 0 @@ -3094,7 +3094,7 @@ static const long _vq_quantlist__44u1__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u1__p5_0[] = { +static const char _vq_lengthlist__44u1__p5_0[] = { 1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9, 9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,10, 7, 8, 8, @@ -3105,7 +3105,7 @@ static const long _vq_lengthlist__44u1__p5_0[] = { static const static_codebook _44u1__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u1__p5_0, + (char *)_vq_lengthlist__44u1__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u1__p5_0, 0 @@ -3127,7 +3127,7 @@ static const long _vq_quantlist__44u1__p6_0[] = { 12, }; -static const long _vq_lengthlist__44u1__p6_0[] = { +static const char _vq_lengthlist__44u1__p6_0[] = { 1, 4, 4, 6, 6, 8, 8,10, 9,11,10,14,13, 4, 6, 5, 8, 8, 9, 9,11,10,11,11,14,14, 4, 5, 6, 8, 8, 9, 9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11, @@ -3143,7 +3143,7 @@ static const long _vq_lengthlist__44u1__p6_0[] = { static const static_codebook _44u1__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u1__p6_0, + (char *)_vq_lengthlist__44u1__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u1__p6_0, 0 @@ -3157,14 +3157,14 @@ static const long _vq_quantlist__44u1__p6_1[] = { 4, }; -static const long _vq_lengthlist__44u1__p6_1[] = { +static const char _vq_lengthlist__44u1__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 5, 6, 6, 6, 6, }; static const static_codebook _44u1__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u1__p6_1, + (char *)_vq_lengthlist__44u1__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u1__p6_1, 0 @@ -3180,7 +3180,7 @@ static const long _vq_quantlist__44u1__p7_0[] = { 6, }; -static const long _vq_lengthlist__44u1__p7_0[] = { +static const char _vq_lengthlist__44u1__p7_0[] = { 1, 3, 2, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, @@ -3189,7 +3189,7 @@ static const long _vq_lengthlist__44u1__p7_0[] = { static const static_codebook _44u1__p7_0 = { 2, 49, - (long *)_vq_lengthlist__44u1__p7_0, + (char *)_vq_lengthlist__44u1__p7_0, 1, -518017024, 1626677248, 3, 0, (long *)_vq_quantlist__44u1__p7_0, 0 @@ -3211,7 +3211,7 @@ static const long _vq_quantlist__44u1__p7_1[] = { 12, }; -static const long _vq_lengthlist__44u1__p7_1[] = { +static const char _vq_lengthlist__44u1__p7_1[] = { 1, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 5, 7, 7, 8, 7, 7, 7, 9, 8,10, 9,10,11, 5, 7, 7, 8, 8, 7, 7, 8, 9,10,10,11,11, 6, 8, 8, 9, 9, 9, 9,11,10, @@ -3227,7 +3227,7 @@ static const long _vq_lengthlist__44u1__p7_1[] = { static const static_codebook _44u1__p7_1 = { 2, 169, - (long *)_vq_lengthlist__44u1__p7_1, + (char *)_vq_lengthlist__44u1__p7_1, 1, -523010048, 1618608128, 4, 0, (long *)_vq_quantlist__44u1__p7_1, 0 @@ -3249,7 +3249,7 @@ static const long _vq_quantlist__44u1__p7_2[] = { 12, }; -static const long _vq_lengthlist__44u1__p7_2[] = { +static const char _vq_lengthlist__44u1__p7_2[] = { 2, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 5, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, 8, 8, 8, 9, 8, @@ -3265,13 +3265,13 @@ static const long _vq_lengthlist__44u1__p7_2[] = { static const static_codebook _44u1__p7_2 = { 2, 169, - (long *)_vq_lengthlist__44u1__p7_2, + (char *)_vq_lengthlist__44u1__p7_2, 1, -531103744, 1611661312, 4, 0, (long *)_vq_quantlist__44u1__p7_2, 0 }; -static const long _huff_lengthlist__44u1__short[] = { +static const char _huff_lengthlist__44u1__short[] = { 12,13,14,13,17,12,15,17, 5, 5, 6,10,10,11,15,16, 4, 3, 3, 7, 5, 7,10,16, 7, 7, 7,10, 9,11,12,16, 6, 5, 5, 9, 5, 6,10,16, 8, 7, 7, 9, 6, 7, 9,16, @@ -3280,13 +3280,13 @@ static const long _huff_lengthlist__44u1__short[] = { static const static_codebook _huff_book__44u1__short = { 2, 64, - (long *)_huff_lengthlist__44u1__short, + (char *)_huff_lengthlist__44u1__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u2__long[] = { +static const char _huff_lengthlist__44u2__long[] = { 5, 9,14,12,15,13,10,13, 7, 4, 5, 6, 8, 7, 8,12, 13, 4, 3, 5, 5, 6, 9,15,12, 6, 5, 6, 6, 6, 7,14, 14, 7, 4, 6, 4, 6, 8,15,12, 6, 6, 5, 5, 5, 6,14, @@ -3295,7 +3295,7 @@ static const long _huff_lengthlist__44u2__long[] = { static const static_codebook _huff_book__44u2__long = { 2, 64, - (long *)_huff_lengthlist__44u2__long, + (char *)_huff_lengthlist__44u2__long, 0, 0, 0, 0, 0, NULL, 0 @@ -3307,7 +3307,7 @@ static const long _vq_quantlist__44u2__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u2__p1_0[] = { +static const char _vq_lengthlist__44u2__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8, 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11, 11, 8,11,11, 8,11,11,11,13,14,11,13,13, 7,11,11, @@ -3318,7 +3318,7 @@ static const long _vq_lengthlist__44u2__p1_0[] = { static const static_codebook _44u2__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u2__p1_0, + (char *)_vq_lengthlist__44u2__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u2__p1_0, 0 @@ -3330,7 +3330,7 @@ static const long _vq_quantlist__44u2__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u2__p2_0[] = { +static const char _vq_lengthlist__44u2__p2_0[] = { 2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, 7, 7, 8, 8, 5, 6, 6, 7, 8, 8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8, @@ -3341,7 +3341,7 @@ static const long _vq_lengthlist__44u2__p2_0[] = { static const static_codebook _44u2__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u2__p2_0, + (char *)_vq_lengthlist__44u2__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u2__p2_0, 0 @@ -3355,7 +3355,7 @@ static const long _vq_quantlist__44u2__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u2__p3_0[] = { +static const char _vq_lengthlist__44u2__p3_0[] = { 2, 4, 4, 7, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8, 9, 9,12,11, 8, 9, 9,11,12, 5, 7, 7,10,10, 7, 9, 9,11,11, 7, 9, 9,10,11,10,11,11,13,13, 9,10,11, @@ -3400,7 +3400,7 @@ static const long _vq_lengthlist__44u2__p3_0[] = { static const static_codebook _44u2__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u2__p3_0, + (char *)_vq_lengthlist__44u2__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u2__p3_0, 0 @@ -3414,7 +3414,7 @@ static const long _vq_quantlist__44u2__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u2__p4_0[] = { +static const char _vq_lengthlist__44u2__p4_0[] = { 4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9, 9, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 7, 8,10,10,10,10,10,11,12, 9,10,10, @@ -3459,7 +3459,7 @@ static const long _vq_lengthlist__44u2__p4_0[] = { static const static_codebook _44u2__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u2__p4_0, + (char *)_vq_lengthlist__44u2__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u2__p4_0, 0 @@ -3477,7 +3477,7 @@ static const long _vq_quantlist__44u2__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u2__p5_0[] = { +static const char _vq_lengthlist__44u2__p5_0[] = { 1, 4, 4, 7, 7, 8, 8, 9, 9, 4, 6, 5, 8, 8, 8, 8, 10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8, @@ -3488,7 +3488,7 @@ static const long _vq_lengthlist__44u2__p5_0[] = { static const static_codebook _44u2__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u2__p5_0, + (char *)_vq_lengthlist__44u2__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u2__p5_0, 0 @@ -3510,7 +3510,7 @@ static const long _vq_quantlist__44u2__p6_0[] = { 12, }; -static const long _vq_lengthlist__44u2__p6_0[] = { +static const char _vq_lengthlist__44u2__p6_0[] = { 1, 4, 4, 6, 6, 8, 8,10,10,11,11,14,13, 4, 6, 5, 8, 8, 9, 9,11,10,12,11,15,14, 4, 5, 6, 8, 8, 9, 9,11,11,11,11,14,14, 6, 8, 8,10, 9,11,11,11,11, @@ -3526,7 +3526,7 @@ static const long _vq_lengthlist__44u2__p6_0[] = { static const static_codebook _44u2__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u2__p6_0, + (char *)_vq_lengthlist__44u2__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u2__p6_0, 0 @@ -3540,14 +3540,14 @@ static const long _vq_quantlist__44u2__p6_1[] = { 4, }; -static const long _vq_lengthlist__44u2__p6_1[] = { +static const char _vq_lengthlist__44u2__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5, 6, 5, 6, 6, 5, 5, 6, 6, 6, }; static const static_codebook _44u2__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u2__p6_1, + (char *)_vq_lengthlist__44u2__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u2__p6_1, 0 @@ -3565,7 +3565,7 @@ static const long _vq_quantlist__44u2__p7_0[] = { 8, }; -static const long _vq_lengthlist__44u2__p7_0[] = { +static const char _vq_lengthlist__44u2__p7_0[] = { 1, 3, 2,12,12,12,12,12,12, 4,12,12,12,12,12,12, 12,12, 5,12,12,12,12,12,12,12,12,12,12,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -3576,7 +3576,7 @@ static const long _vq_lengthlist__44u2__p7_0[] = { static const static_codebook _44u2__p7_0 = { 2, 81, - (long *)_vq_lengthlist__44u2__p7_0, + (char *)_vq_lengthlist__44u2__p7_0, 1, -516612096, 1626677248, 4, 0, (long *)_vq_quantlist__44u2__p7_0, 0 @@ -3598,7 +3598,7 @@ static const long _vq_quantlist__44u2__p7_1[] = { 12, }; -static const long _vq_lengthlist__44u2__p7_1[] = { +static const char _vq_lengthlist__44u2__p7_1[] = { 1, 4, 4, 7, 6, 7, 6, 8, 7, 9, 7, 9, 8, 4, 7, 6, 8, 8, 9, 8,10, 9,10,10,11,11, 4, 7, 7, 8, 8, 8, 8, 9,10,11,11,11,11, 6, 8, 8,10,10,10,10,11,11, @@ -3614,7 +3614,7 @@ static const long _vq_lengthlist__44u2__p7_1[] = { static const static_codebook _44u2__p7_1 = { 2, 169, - (long *)_vq_lengthlist__44u2__p7_1, + (char *)_vq_lengthlist__44u2__p7_1, 1, -523010048, 1618608128, 4, 0, (long *)_vq_quantlist__44u2__p7_1, 0 @@ -3636,7 +3636,7 @@ static const long _vq_quantlist__44u2__p7_2[] = { 12, }; -static const long _vq_lengthlist__44u2__p7_2[] = { +static const char _vq_lengthlist__44u2__p7_2[] = { 2, 5, 5, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, 8, 8, 8, 8, 8, @@ -3652,13 +3652,13 @@ static const long _vq_lengthlist__44u2__p7_2[] = { static const static_codebook _44u2__p7_2 = { 2, 169, - (long *)_vq_lengthlist__44u2__p7_2, + (char *)_vq_lengthlist__44u2__p7_2, 1, -531103744, 1611661312, 4, 0, (long *)_vq_quantlist__44u2__p7_2, 0 }; -static const long _huff_lengthlist__44u2__short[] = { +static const char _huff_lengthlist__44u2__short[] = { 13,15,17,17,15,15,12,17,11, 9, 7,10,10, 9,12,17, 10, 6, 3, 6, 5, 7,10,17,15,10, 6, 9, 8, 9,11,17, 15, 8, 4, 7, 3, 5, 9,16,16,10, 5, 8, 4, 5, 8,16, @@ -3667,13 +3667,13 @@ static const long _huff_lengthlist__44u2__short[] = { static const static_codebook _huff_book__44u2__short = { 2, 64, - (long *)_huff_lengthlist__44u2__short, + (char *)_huff_lengthlist__44u2__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u3__long[] = { +static const char _huff_lengthlist__44u3__long[] = { 6, 9,13,12,14,11,10,13, 8, 4, 5, 7, 8, 7, 8,12, 11, 4, 3, 5, 5, 7, 9,14,11, 6, 5, 6, 6, 6, 7,13, 13, 7, 5, 6, 4, 5, 7,14,11, 7, 6, 6, 5, 5, 6,13, @@ -3682,7 +3682,7 @@ static const long _huff_lengthlist__44u3__long[] = { static const static_codebook _huff_book__44u3__long = { 2, 64, - (long *)_huff_lengthlist__44u3__long, + (char *)_huff_lengthlist__44u3__long, 0, 0, 0, 0, 0, NULL, 0 @@ -3694,7 +3694,7 @@ static const long _vq_quantlist__44u3__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u3__p1_0[] = { +static const char _vq_lengthlist__44u3__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8, 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11, 11, 8,11,11, 8,11,11,11,13,14,11,14,14, 8,11,11, @@ -3705,7 +3705,7 @@ static const long _vq_lengthlist__44u3__p1_0[] = { static const static_codebook _44u3__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u3__p1_0, + (char *)_vq_lengthlist__44u3__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u3__p1_0, 0 @@ -3717,7 +3717,7 @@ static const long _vq_quantlist__44u3__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u3__p2_0[] = { +static const char _vq_lengthlist__44u3__p2_0[] = { 2, 5, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, 8, 7, 8, 8, 5, 7, 6, 7, 8, 8, 6, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8, @@ -3728,7 +3728,7 @@ static const long _vq_lengthlist__44u3__p2_0[] = { static const static_codebook _44u3__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u3__p2_0, + (char *)_vq_lengthlist__44u3__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u3__p2_0, 0 @@ -3742,7 +3742,7 @@ static const long _vq_quantlist__44u3__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u3__p3_0[] = { +static const char _vq_lengthlist__44u3__p3_0[] = { 2, 4, 4, 7, 7, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8, 9, 9,12,12, 8, 9, 9,11,12, 5, 7, 7,10,10, 7, 9, 9,11,11, 7, 9, 9,10,11,10,11,11,13,13, 9,10,11, @@ -3787,7 +3787,7 @@ static const long _vq_lengthlist__44u3__p3_0[] = { static const static_codebook _44u3__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u3__p3_0, + (char *)_vq_lengthlist__44u3__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u3__p3_0, 0 @@ -3801,7 +3801,7 @@ static const long _vq_quantlist__44u3__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u3__p4_0[] = { +static const char _vq_lengthlist__44u3__p4_0[] = { 4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9, 9, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 7, 8,10,10, 9,10,10,11,12, 9,10,10, @@ -3846,7 +3846,7 @@ static const long _vq_lengthlist__44u3__p4_0[] = { static const static_codebook _44u3__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u3__p4_0, + (char *)_vq_lengthlist__44u3__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u3__p4_0, 0 @@ -3864,7 +3864,7 @@ static const long _vq_quantlist__44u3__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u3__p5_0[] = { +static const char _vq_lengthlist__44u3__p5_0[] = { 2, 3, 3, 6, 6, 7, 7, 9, 9, 4, 5, 5, 7, 7, 8, 8, 10,10, 4, 5, 5, 7, 7, 8, 8,10,10, 6, 7, 7, 8, 8, 9, 9,11,10, 6, 7, 7, 8, 8, 9, 9,10,10, 7, 8, 8, @@ -3875,7 +3875,7 @@ static const long _vq_lengthlist__44u3__p5_0[] = { static const static_codebook _44u3__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u3__p5_0, + (char *)_vq_lengthlist__44u3__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u3__p5_0, 0 @@ -3897,7 +3897,7 @@ static const long _vq_quantlist__44u3__p6_0[] = { 12, }; -static const long _vq_lengthlist__44u3__p6_0[] = { +static const char _vq_lengthlist__44u3__p6_0[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9,10,11,13,14, 4, 6, 5, 8, 8, 9, 9,10,10,11,11,14,14, 4, 6, 6, 8, 8, 9, 9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11, @@ -3913,7 +3913,7 @@ static const long _vq_lengthlist__44u3__p6_0[] = { static const static_codebook _44u3__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u3__p6_0, + (char *)_vq_lengthlist__44u3__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u3__p6_0, 0 @@ -3927,14 +3927,14 @@ static const long _vq_quantlist__44u3__p6_1[] = { 4, }; -static const long _vq_lengthlist__44u3__p6_1[] = { +static const char _vq_lengthlist__44u3__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5, 6, 5, 6, 6, 5, 5, 6, 6, 6, }; static const static_codebook _44u3__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u3__p6_1, + (char *)_vq_lengthlist__44u3__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u3__p6_1, 0 @@ -3952,7 +3952,7 @@ static const long _vq_quantlist__44u3__p7_0[] = { 8, }; -static const long _vq_lengthlist__44u3__p7_0[] = { +static const char _vq_lengthlist__44u3__p7_0[] = { 1, 3, 3,10,10,10,10,10,10, 4,10,10,10,10,10,10, 10,10, 4,10,10,10,10,10,10,10,10,10,10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -3963,7 +3963,7 @@ static const long _vq_lengthlist__44u3__p7_0[] = { static const static_codebook _44u3__p7_0 = { 2, 81, - (long *)_vq_lengthlist__44u3__p7_0, + (char *)_vq_lengthlist__44u3__p7_0, 1, -515907584, 1627381760, 4, 0, (long *)_vq_quantlist__44u3__p7_0, 0 @@ -3987,7 +3987,7 @@ static const long _vq_quantlist__44u3__p7_1[] = { 14, }; -static const long _vq_lengthlist__44u3__p7_1[] = { +static const char _vq_lengthlist__44u3__p7_1[] = { 1, 4, 4, 6, 6, 7, 6, 8, 7, 9, 8,10, 9,11,11, 4, 7, 7, 8, 7, 9, 9,10,10,11,11,11,11,12,12, 4, 7, 7, 7, 7, 9, 9,10,10,11,11,12,12,12,11, 6, 8, 8, @@ -4007,7 +4007,7 @@ static const long _vq_lengthlist__44u3__p7_1[] = { static const static_codebook _44u3__p7_1 = { 2, 225, - (long *)_vq_lengthlist__44u3__p7_1, + (char *)_vq_lengthlist__44u3__p7_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__44u3__p7_1, 0 @@ -4033,7 +4033,7 @@ static const long _vq_quantlist__44u3__p7_2[] = { 16, }; -static const long _vq_lengthlist__44u3__p7_2[] = { +static const char _vq_lengthlist__44u3__p7_2[] = { 2, 5, 5, 7, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10,10, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9, @@ -4057,13 +4057,13 @@ static const long _vq_lengthlist__44u3__p7_2[] = { static const static_codebook _44u3__p7_2 = { 2, 289, - (long *)_vq_lengthlist__44u3__p7_2, + (char *)_vq_lengthlist__44u3__p7_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u3__p7_2, 0 }; -static const long _huff_lengthlist__44u3__short[] = { +static const char _huff_lengthlist__44u3__short[] = { 14,14,14,15,13,15,12,16,10, 8, 7, 9, 9, 8,12,16, 10, 5, 4, 6, 5, 6, 9,16,14, 8, 6, 8, 7, 8,10,16, 14, 7, 4, 6, 3, 5, 8,16,15, 9, 5, 7, 4, 4, 7,16, @@ -4072,13 +4072,13 @@ static const long _huff_lengthlist__44u3__short[] = { static const static_codebook _huff_book__44u3__short = { 2, 64, - (long *)_huff_lengthlist__44u3__short, + (char *)_huff_lengthlist__44u3__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u4__long[] = { +static const char _huff_lengthlist__44u4__long[] = { 3, 8,12,12,13,12,11,13, 5, 4, 6, 7, 8, 8, 9,13, 9, 5, 4, 5, 5, 7, 9,13, 9, 6, 5, 6, 6, 7, 8,12, 12, 7, 5, 6, 4, 5, 8,13,11, 7, 6, 6, 5, 5, 6,12, @@ -4087,7 +4087,7 @@ static const long _huff_lengthlist__44u4__long[] = { static const static_codebook _huff_book__44u4__long = { 2, 64, - (long *)_huff_lengthlist__44u4__long, + (char *)_huff_lengthlist__44u4__long, 0, 0, 0, 0, 0, NULL, 0 @@ -4099,7 +4099,7 @@ static const long _vq_quantlist__44u4__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u4__p1_0[] = { +static const char _vq_lengthlist__44u4__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8, 10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11, 11, 8,11,11, 8,11,11,11,13,14,11,15,14, 8,11,11, @@ -4110,7 +4110,7 @@ static const long _vq_lengthlist__44u4__p1_0[] = { static const static_codebook _44u4__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u4__p1_0, + (char *)_vq_lengthlist__44u4__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u4__p1_0, 0 @@ -4122,7 +4122,7 @@ static const long _vq_quantlist__44u4__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u4__p2_0[] = { +static const char _vq_lengthlist__44u4__p2_0[] = { 2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6, 8, 8, 5, 6, 6, 6, 8, 8, 7, 8, 8, 5, 7, 6, 6, 8, 8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8, @@ -4133,7 +4133,7 @@ static const long _vq_lengthlist__44u4__p2_0[] = { static const static_codebook _44u4__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u4__p2_0, + (char *)_vq_lengthlist__44u4__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u4__p2_0, 0 @@ -4147,7 +4147,7 @@ static const long _vq_quantlist__44u4__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u4__p3_0[] = { +static const char _vq_lengthlist__44u4__p3_0[] = { 2, 4, 4, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8, 10, 9,12,12, 8, 9,10,12,12, 5, 7, 7,10,10, 7, 9, 9,11,11, 7, 9, 9,11,11,10,12,11,14,14, 9,10,11, @@ -4192,7 +4192,7 @@ static const long _vq_lengthlist__44u4__p3_0[] = { static const static_codebook _44u4__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u4__p3_0, + (char *)_vq_lengthlist__44u4__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u4__p3_0, 0 @@ -4206,7 +4206,7 @@ static const long _vq_quantlist__44u4__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u4__p4_0[] = { +static const char _vq_lengthlist__44u4__p4_0[] = { 4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9, 9, 9,11,11, 8, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 7, 8,10,10, 9,10,10,11,12, 9,10,10, @@ -4251,7 +4251,7 @@ static const long _vq_lengthlist__44u4__p4_0[] = { static const static_codebook _44u4__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u4__p4_0, + (char *)_vq_lengthlist__44u4__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u4__p4_0, 0 @@ -4269,7 +4269,7 @@ static const long _vq_quantlist__44u4__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u4__p5_0[] = { +static const char _vq_lengthlist__44u4__p5_0[] = { 2, 3, 3, 6, 6, 7, 7, 9, 9, 4, 5, 5, 7, 7, 8, 8, 10, 9, 4, 5, 5, 7, 7, 8, 8,10,10, 6, 7, 7, 8, 8, 9, 9,11,10, 6, 7, 7, 8, 8, 9, 9,10,11, 7, 8, 8, @@ -4280,7 +4280,7 @@ static const long _vq_lengthlist__44u4__p5_0[] = { static const static_codebook _44u4__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u4__p5_0, + (char *)_vq_lengthlist__44u4__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u4__p5_0, 0 @@ -4302,7 +4302,7 @@ static const long _vq_quantlist__44u4__p6_0[] = { 12, }; -static const long _vq_lengthlist__44u4__p6_0[] = { +static const char _vq_lengthlist__44u4__p6_0[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9,11,10,13,13, 4, 6, 5, 8, 8, 9, 9,10,10,11,11,14,14, 4, 6, 6, 8, 8, 9, 9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11, @@ -4318,7 +4318,7 @@ static const long _vq_lengthlist__44u4__p6_0[] = { static const static_codebook _44u4__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u4__p6_0, + (char *)_vq_lengthlist__44u4__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u4__p6_0, 0 @@ -4332,14 +4332,14 @@ static const long _vq_quantlist__44u4__p6_1[] = { 4, }; -static const long _vq_lengthlist__44u4__p6_1[] = { +static const char _vq_lengthlist__44u4__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5, 6, 5, 6, 6, 5, 5, 6, 6, 6, }; static const static_codebook _44u4__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u4__p6_1, + (char *)_vq_lengthlist__44u4__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u4__p6_1, 0 @@ -4361,7 +4361,7 @@ static const long _vq_quantlist__44u4__p7_0[] = { 12, }; -static const long _vq_lengthlist__44u4__p7_0[] = { +static const char _vq_lengthlist__44u4__p7_0[] = { 1, 3, 3,12,12,12,12,12,12,12,12,12,12, 3,12,11, 12,12,12,12,12,12,12,12,12,12, 4,11,10,12,12,12, 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, @@ -4377,7 +4377,7 @@ static const long _vq_lengthlist__44u4__p7_0[] = { static const static_codebook _44u4__p7_0 = { 2, 169, - (long *)_vq_lengthlist__44u4__p7_0, + (char *)_vq_lengthlist__44u4__p7_0, 1, -514332672, 1627381760, 4, 0, (long *)_vq_quantlist__44u4__p7_0, 0 @@ -4401,7 +4401,7 @@ static const long _vq_quantlist__44u4__p7_1[] = { 14, }; -static const long _vq_lengthlist__44u4__p7_1[] = { +static const char _vq_lengthlist__44u4__p7_1[] = { 1, 4, 4, 6, 6, 7, 7, 9, 8,10, 8,10, 9,11,11, 4, 7, 6, 8, 7, 9, 9,10,10,11,10,11,10,12,10, 4, 6, 7, 8, 8, 9, 9,10,10,11,11,11,11,12,12, 6, 8, 8, @@ -4421,7 +4421,7 @@ static const long _vq_lengthlist__44u4__p7_1[] = { static const static_codebook _44u4__p7_1 = { 2, 225, - (long *)_vq_lengthlist__44u4__p7_1, + (char *)_vq_lengthlist__44u4__p7_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__44u4__p7_1, 0 @@ -4447,7 +4447,7 @@ static const long _vq_quantlist__44u4__p7_2[] = { 16, }; -static const long _vq_lengthlist__44u4__p7_2[] = { +static const char _vq_lengthlist__44u4__p7_2[] = { 2, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, @@ -4471,13 +4471,13 @@ static const long _vq_lengthlist__44u4__p7_2[] = { static const static_codebook _44u4__p7_2 = { 2, 289, - (long *)_vq_lengthlist__44u4__p7_2, + (char *)_vq_lengthlist__44u4__p7_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u4__p7_2, 0 }; -static const long _huff_lengthlist__44u4__short[] = { +static const char _huff_lengthlist__44u4__short[] = { 14,17,15,17,16,14,13,16,10, 7, 7,10,13,10,15,16, 9, 4, 4, 6, 5, 7, 9,16,12, 8, 7, 8, 8, 8,11,16, 14, 7, 4, 6, 3, 5, 8,15,13, 8, 5, 7, 4, 5, 7,16, @@ -4486,13 +4486,13 @@ static const long _huff_lengthlist__44u4__short[] = { static const static_codebook _huff_book__44u4__short = { 2, 64, - (long *)_huff_lengthlist__44u4__short, + (char *)_huff_lengthlist__44u4__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u5__long[] = { +static const char _huff_lengthlist__44u5__long[] = { 3, 8,13,12,14,12,16,11,13,14, 5, 4, 5, 6, 7, 8, 10, 9,12,15,10, 5, 5, 5, 6, 8, 9, 9,13,15,10, 5, 5, 6, 6, 7, 8, 8,11,13,12, 7, 5, 6, 4, 6, 7, 7, @@ -4504,7 +4504,7 @@ static const long _huff_lengthlist__44u5__long[] = { static const static_codebook _huff_book__44u5__long = { 2, 100, - (long *)_huff_lengthlist__44u5__long, + (char *)_huff_lengthlist__44u5__long, 0, 0, 0, 0, 0, NULL, 0 @@ -4516,7 +4516,7 @@ static const long _vq_quantlist__44u5__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u5__p1_0[] = { +static const char _vq_lengthlist__44u5__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7, 9,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,10, 10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10, @@ -4527,7 +4527,7 @@ static const long _vq_lengthlist__44u5__p1_0[] = { static const static_codebook _44u5__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u5__p1_0, + (char *)_vq_lengthlist__44u5__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u5__p1_0, 0 @@ -4539,7 +4539,7 @@ static const long _vq_quantlist__44u5__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u5__p2_0[] = { +static const char _vq_lengthlist__44u5__p2_0[] = { 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6, 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 7, @@ -4550,7 +4550,7 @@ static const long _vq_lengthlist__44u5__p2_0[] = { static const static_codebook _44u5__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u5__p2_0, + (char *)_vq_lengthlist__44u5__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u5__p2_0, 0 @@ -4564,7 +4564,7 @@ static const long _vq_quantlist__44u5__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u5__p3_0[] = { +static const char _vq_lengthlist__44u5__p3_0[] = { 2, 4, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8, 10, 9,13,12, 8, 9,10,12,12, 5, 7, 7,10,10, 7, 9, 9,11,11, 6, 8, 9,11,11,10,11,11,14,14, 9,10,11, @@ -4609,7 +4609,7 @@ static const long _vq_lengthlist__44u5__p3_0[] = { static const static_codebook _44u5__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u5__p3_0, + (char *)_vq_lengthlist__44u5__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u5__p3_0, 0 @@ -4623,7 +4623,7 @@ static const long _vq_quantlist__44u5__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u5__p4_0[] = { +static const char _vq_lengthlist__44u5__p4_0[] = { 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8, 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8, 8,10,10, 6, 7, 8, 9,10, 9,10,10,11,12, 9, 9,10, @@ -4668,7 +4668,7 @@ static const long _vq_lengthlist__44u5__p4_0[] = { static const static_codebook _44u5__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u5__p4_0, + (char *)_vq_lengthlist__44u5__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u5__p4_0, 0 @@ -4686,7 +4686,7 @@ static const long _vq_quantlist__44u5__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u5__p5_0[] = { +static const char _vq_lengthlist__44u5__p5_0[] = { 2, 3, 3, 6, 6, 8, 8,10,10, 4, 5, 5, 8, 7, 8, 8, 11,10, 3, 5, 5, 7, 8, 8, 8,10,11, 6, 8, 7,10, 9, 10,10,11,11, 6, 7, 8, 9, 9, 9,10,11,12, 8, 8, 8, @@ -4697,7 +4697,7 @@ static const long _vq_lengthlist__44u5__p5_0[] = { static const static_codebook _44u5__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u5__p5_0, + (char *)_vq_lengthlist__44u5__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u5__p5_0, 0 @@ -4715,7 +4715,7 @@ static const long _vq_quantlist__44u5__p6_0[] = { 8, }; -static const long _vq_lengthlist__44u5__p6_0[] = { +static const char _vq_lengthlist__44u5__p6_0[] = { 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7, 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7, @@ -4726,7 +4726,7 @@ static const long _vq_lengthlist__44u5__p6_0[] = { static const static_codebook _44u5__p6_0 = { 2, 81, - (long *)_vq_lengthlist__44u5__p6_0, + (char *)_vq_lengthlist__44u5__p6_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u5__p6_0, 0 @@ -4738,7 +4738,7 @@ static const long _vq_quantlist__44u5__p7_0[] = { 2, }; -static const long _vq_lengthlist__44u5__p7_0[] = { +static const char _vq_lengthlist__44u5__p7_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 9, 8,11,10, 7, 11,10, 5, 9, 9, 7,10,10, 8,10,11, 4, 9, 9, 9,12, 12, 9,12,12, 8,12,12,11,12,12,10,12,13, 7,12,12, @@ -4749,7 +4749,7 @@ static const long _vq_lengthlist__44u5__p7_0[] = { static const static_codebook _44u5__p7_0 = { 4, 81, - (long *)_vq_lengthlist__44u5__p7_0, + (char *)_vq_lengthlist__44u5__p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44u5__p7_0, 0 @@ -4769,7 +4769,7 @@ static const long _vq_quantlist__44u5__p7_1[] = { 10, }; -static const long _vq_lengthlist__44u5__p7_1[] = { +static const char _vq_lengthlist__44u5__p7_1[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7, 8, 8, 9, 8, 8, 9, 4, 5, 5, 7, 7, 8, 8, 9, 9, 8, 9, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 6, 7, 7, 8, @@ -4782,7 +4782,7 @@ static const long _vq_lengthlist__44u5__p7_1[] = { static const static_codebook _44u5__p7_1 = { 2, 121, - (long *)_vq_lengthlist__44u5__p7_1, + (char *)_vq_lengthlist__44u5__p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u5__p7_1, 0 @@ -4802,7 +4802,7 @@ static const long _vq_quantlist__44u5__p8_0[] = { 10, }; -static const long _vq_lengthlist__44u5__p8_0[] = { +static const char _vq_lengthlist__44u5__p8_0[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7, 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11, 11, 6, 8, 7, 9, 9,10,10,11,11,13,12, 6, 8, 8, 9, @@ -4815,7 +4815,7 @@ static const long _vq_lengthlist__44u5__p8_0[] = { static const static_codebook _44u5__p8_0 = { 2, 121, - (long *)_vq_lengthlist__44u5__p8_0, + (char *)_vq_lengthlist__44u5__p8_0, 1, -524582912, 1618345984, 4, 0, (long *)_vq_quantlist__44u5__p8_0, 0 @@ -4835,7 +4835,7 @@ static const long _vq_quantlist__44u5__p8_1[] = { 10, }; -static const long _vq_lengthlist__44u5__p8_1[] = { +static const char _vq_lengthlist__44u5__p8_1[] = { 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 5, 7, 6, 7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 6, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 6, 6, 7, 7, @@ -4848,7 +4848,7 @@ static const long _vq_lengthlist__44u5__p8_1[] = { static const static_codebook _44u5__p8_1 = { 2, 121, - (long *)_vq_lengthlist__44u5__p8_1, + (char *)_vq_lengthlist__44u5__p8_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u5__p8_1, 0 @@ -4870,7 +4870,7 @@ static const long _vq_quantlist__44u5__p9_0[] = { 12, }; -static const long _vq_lengthlist__44u5__p9_0[] = { +static const char _vq_lengthlist__44u5__p9_0[] = { 1, 3, 2,12,10,13,13,13,13,13,13,13,13, 4, 9, 9, 13,13,13,13,13,13,13,13,13,13, 5,10, 9,13,13,13, 13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13, @@ -4886,7 +4886,7 @@ static const long _vq_lengthlist__44u5__p9_0[] = { static const static_codebook _44u5__p9_0 = { 2, 169, - (long *)_vq_lengthlist__44u5__p9_0, + (char *)_vq_lengthlist__44u5__p9_0, 1, -514332672, 1627381760, 4, 0, (long *)_vq_quantlist__44u5__p9_0, 0 @@ -4910,7 +4910,7 @@ static const long _vq_quantlist__44u5__p9_1[] = { 14, }; -static const long _vq_lengthlist__44u5__p9_1[] = { +static const char _vq_lengthlist__44u5__p9_1[] = { 1, 4, 4, 7, 7, 8, 8, 8, 7, 8, 7, 9, 8, 9, 9, 4, 7, 6, 9, 8,10,10, 9, 8, 9, 9, 9, 9, 9, 8, 5, 6, 6, 8, 9,10,10, 9, 9, 9,10,10,10,10,11, 7, 8, 8, @@ -4930,7 +4930,7 @@ static const long _vq_lengthlist__44u5__p9_1[] = { static const static_codebook _44u5__p9_1 = { 2, 225, - (long *)_vq_lengthlist__44u5__p9_1, + (char *)_vq_lengthlist__44u5__p9_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__44u5__p9_1, 0 @@ -4956,7 +4956,7 @@ static const long _vq_quantlist__44u5__p9_2[] = { 16, }; -static const long _vq_lengthlist__44u5__p9_2[] = { +static const char _vq_lengthlist__44u5__p9_2[] = { 2, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, @@ -4980,13 +4980,13 @@ static const long _vq_lengthlist__44u5__p9_2[] = { static const static_codebook _44u5__p9_2 = { 2, 289, - (long *)_vq_lengthlist__44u5__p9_2, + (char *)_vq_lengthlist__44u5__p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u5__p9_2, 0 }; -static const long _huff_lengthlist__44u5__short[] = { +static const char _huff_lengthlist__44u5__short[] = { 4,10,17,13,17,13,17,17,17,17, 3, 6, 8, 9,11, 9, 15,12,16,17, 6, 5, 5, 7, 7, 8,10,11,17,17, 7, 8, 7, 9, 9,10,13,13,17,17, 8, 6, 5, 7, 4, 7, 5, 8, @@ -4998,13 +4998,13 @@ static const long _huff_lengthlist__44u5__short[] = { static const static_codebook _huff_book__44u5__short = { 2, 100, - (long *)_huff_lengthlist__44u5__short, + (char *)_huff_lengthlist__44u5__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u6__long[] = { +static const char _huff_lengthlist__44u6__long[] = { 3, 9,14,13,14,13,16,12,13,14, 5, 4, 6, 6, 8, 9, 11,10,12,15,10, 5, 5, 6, 6, 8,10,10,13,16,10, 6, 6, 6, 6, 8, 9, 9,12,14,13, 7, 6, 6, 4, 6, 6, 7, @@ -5016,7 +5016,7 @@ static const long _huff_lengthlist__44u6__long[] = { static const static_codebook _huff_book__44u6__long = { 2, 100, - (long *)_huff_lengthlist__44u6__long, + (char *)_huff_lengthlist__44u6__long, 0, 0, 0, 0, 0, NULL, 0 @@ -5028,7 +5028,7 @@ static const long _vq_quantlist__44u6__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u6__p1_0[] = { +static const char _vq_lengthlist__44u6__p1_0[] = { 1, 4, 4, 4, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7, 9,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,10, 10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10, @@ -5039,7 +5039,7 @@ static const long _vq_lengthlist__44u6__p1_0[] = { static const static_codebook _44u6__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u6__p1_0, + (char *)_vq_lengthlist__44u6__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u6__p1_0, 0 @@ -5051,7 +5051,7 @@ static const long _vq_quantlist__44u6__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u6__p2_0[] = { +static const char _vq_lengthlist__44u6__p2_0[] = { 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6, 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8, 8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 7, 7, @@ -5062,7 +5062,7 @@ static const long _vq_lengthlist__44u6__p2_0[] = { static const static_codebook _44u6__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u6__p2_0, + (char *)_vq_lengthlist__44u6__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u6__p2_0, 0 @@ -5076,7 +5076,7 @@ static const long _vq_quantlist__44u6__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u6__p3_0[] = { +static const char _vq_lengthlist__44u6__p3_0[] = { 2, 5, 4, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8, 9, 9,13,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9, 9,11,11, 7, 8, 9,11,11,10,11,11,14,14, 9,10,11, @@ -5121,7 +5121,7 @@ static const long _vq_lengthlist__44u6__p3_0[] = { static const static_codebook _44u6__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u6__p3_0, + (char *)_vq_lengthlist__44u6__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u6__p3_0, 0 @@ -5135,7 +5135,7 @@ static const long _vq_quantlist__44u6__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u6__p4_0[] = { +static const char _vq_lengthlist__44u6__p4_0[] = { 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8, 9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 7, 8, 9,10, 9,10,10,11,11, 9, 9,10, @@ -5180,7 +5180,7 @@ static const long _vq_lengthlist__44u6__p4_0[] = { static const static_codebook _44u6__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u6__p4_0, + (char *)_vq_lengthlist__44u6__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u6__p4_0, 0 @@ -5198,7 +5198,7 @@ static const long _vq_quantlist__44u6__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u6__p5_0[] = { +static const char _vq_lengthlist__44u6__p5_0[] = { 2, 3, 3, 6, 6, 8, 8,10,10, 4, 5, 5, 8, 7, 8, 8, 11,11, 3, 5, 5, 7, 8, 8, 8,11,11, 6, 8, 7, 9, 9, 10, 9,12,11, 6, 7, 8, 9, 9, 9,10,11,12, 8, 8, 8, @@ -5209,7 +5209,7 @@ static const long _vq_lengthlist__44u6__p5_0[] = { static const static_codebook _44u6__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u6__p5_0, + (char *)_vq_lengthlist__44u6__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u6__p5_0, 0 @@ -5227,7 +5227,7 @@ static const long _vq_quantlist__44u6__p6_0[] = { 8, }; -static const long _vq_lengthlist__44u6__p6_0[] = { +static const char _vq_lengthlist__44u6__p6_0[] = { 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 8, 9, 9, 5, 6, 6, 7, 7, 8, 8,10,10, 5, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7, @@ -5238,7 +5238,7 @@ static const long _vq_lengthlist__44u6__p6_0[] = { static const static_codebook _44u6__p6_0 = { 2, 81, - (long *)_vq_lengthlist__44u6__p6_0, + (char *)_vq_lengthlist__44u6__p6_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u6__p6_0, 0 @@ -5250,7 +5250,7 @@ static const long _vq_quantlist__44u6__p7_0[] = { 2, }; -static const long _vq_lengthlist__44u6__p7_0[] = { +static const char _vq_lengthlist__44u6__p7_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 7,10,10, 8, 10,10, 5, 8, 9, 7,10,10, 7,10, 9, 4, 8, 8, 9,11, 11, 8,11,11, 7,11,11,10,10,13,10,13,13, 7,11,11, @@ -5261,7 +5261,7 @@ static const long _vq_lengthlist__44u6__p7_0[] = { static const static_codebook _44u6__p7_0 = { 4, 81, - (long *)_vq_lengthlist__44u6__p7_0, + (char *)_vq_lengthlist__44u6__p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44u6__p7_0, 0 @@ -5281,7 +5281,7 @@ static const long _vq_quantlist__44u6__p7_1[] = { 10, }; -static const long _vq_lengthlist__44u6__p7_1[] = { +static const char _vq_lengthlist__44u6__p7_1[] = { 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 6, 8, 8, 8, 8, 8, 8, 4, 5, 5, 6, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, @@ -5294,7 +5294,7 @@ static const long _vq_lengthlist__44u6__p7_1[] = { static const static_codebook _44u6__p7_1 = { 2, 121, - (long *)_vq_lengthlist__44u6__p7_1, + (char *)_vq_lengthlist__44u6__p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u6__p7_1, 0 @@ -5314,7 +5314,7 @@ static const long _vq_quantlist__44u6__p8_0[] = { 10, }; -static const long _vq_lengthlist__44u6__p8_0[] = { +static const char _vq_lengthlist__44u6__p8_0[] = { 1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7, 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11, 11, 6, 8, 8, 9, 9,10,10,11,11,12,12, 6, 8, 8, 9, @@ -5327,7 +5327,7 @@ static const long _vq_lengthlist__44u6__p8_0[] = { static const static_codebook _44u6__p8_0 = { 2, 121, - (long *)_vq_lengthlist__44u6__p8_0, + (char *)_vq_lengthlist__44u6__p8_0, 1, -524582912, 1618345984, 4, 0, (long *)_vq_quantlist__44u6__p8_0, 0 @@ -5347,7 +5347,7 @@ static const long _vq_quantlist__44u6__p8_1[] = { 10, }; -static const long _vq_lengthlist__44u6__p8_1[] = { +static const char _vq_lengthlist__44u6__p8_1[] = { 3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 5, 7, 7, 7, 7, 8, 7, 8, 8, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 6, 6, 7, 7, @@ -5360,7 +5360,7 @@ static const long _vq_lengthlist__44u6__p8_1[] = { static const static_codebook _44u6__p8_1 = { 2, 121, - (long *)_vq_lengthlist__44u6__p8_1, + (char *)_vq_lengthlist__44u6__p8_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u6__p8_1, 0 @@ -5384,7 +5384,7 @@ static const long _vq_quantlist__44u6__p9_0[] = { 14, }; -static const long _vq_lengthlist__44u6__p9_0[] = { +static const char _vq_lengthlist__44u6__p9_0[] = { 1, 3, 2, 9, 8,15,15,15,15,15,15,15,15,15,15, 4, 8, 9,13,14,14,14,14,14,14,14,14,14,14,14, 5, 8, 9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14, @@ -5404,7 +5404,7 @@ static const long _vq_lengthlist__44u6__p9_0[] = { static const static_codebook _44u6__p9_0 = { 2, 225, - (long *)_vq_lengthlist__44u6__p9_0, + (char *)_vq_lengthlist__44u6__p9_0, 1, -514071552, 1627381760, 4, 0, (long *)_vq_quantlist__44u6__p9_0, 0 @@ -5428,7 +5428,7 @@ static const long _vq_quantlist__44u6__p9_1[] = { 14, }; -static const long _vq_lengthlist__44u6__p9_1[] = { +static const char _vq_lengthlist__44u6__p9_1[] = { 1, 4, 4, 7, 7, 8, 9, 8, 8, 9, 8, 9, 8, 9, 9, 4, 7, 6, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 7, 6, 9, 9,10,10, 9, 9,10,10,10,10,11,11, 7, 9, 8, @@ -5448,7 +5448,7 @@ static const long _vq_lengthlist__44u6__p9_1[] = { static const static_codebook _44u6__p9_1 = { 2, 225, - (long *)_vq_lengthlist__44u6__p9_1, + (char *)_vq_lengthlist__44u6__p9_1, 1, -522338304, 1620115456, 4, 0, (long *)_vq_quantlist__44u6__p9_1, 0 @@ -5474,7 +5474,7 @@ static const long _vq_quantlist__44u6__p9_2[] = { 16, }; -static const long _vq_lengthlist__44u6__p9_2[] = { +static const char _vq_lengthlist__44u6__p9_2[] = { 3, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, @@ -5498,13 +5498,13 @@ static const long _vq_lengthlist__44u6__p9_2[] = { static const static_codebook _44u6__p9_2 = { 2, 289, - (long *)_vq_lengthlist__44u6__p9_2, + (char *)_vq_lengthlist__44u6__p9_2, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u6__p9_2, 0 }; -static const long _huff_lengthlist__44u6__short[] = { +static const char _huff_lengthlist__44u6__short[] = { 4,11,16,13,17,13,17,16,17,17, 4, 7, 9, 9,13,10, 16,12,16,17, 7, 6, 5, 7, 8, 9,12,12,16,17, 6, 9, 7, 9,10,10,15,15,17,17, 6, 7, 5, 7, 5, 7, 7,10, @@ -5516,13 +5516,13 @@ static const long _huff_lengthlist__44u6__short[] = { static const static_codebook _huff_book__44u6__short = { 2, 100, - (long *)_huff_lengthlist__44u6__short, + (char *)_huff_lengthlist__44u6__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u7__long[] = { +static const char _huff_lengthlist__44u7__long[] = { 3, 9,14,13,15,14,16,13,13,14, 5, 5, 7, 7, 8, 9, 11,10,12,15,10, 6, 5, 6, 6, 9,10,10,13,16,10, 6, 6, 6, 6, 8, 9, 9,12,15,14, 7, 6, 6, 5, 6, 6, 8, @@ -5534,7 +5534,7 @@ static const long _huff_lengthlist__44u7__long[] = { static const static_codebook _huff_book__44u7__long = { 2, 100, - (long *)_huff_lengthlist__44u7__long, + (char *)_huff_lengthlist__44u7__long, 0, 0, 0, 0, 0, NULL, 0 @@ -5546,7 +5546,7 @@ static const long _vq_quantlist__44u7__p1_0[] = { 2, }; -static const long _vq_lengthlist__44u7__p1_0[] = { +static const char _vq_lengthlist__44u7__p1_0[] = { 1, 4, 4, 4, 7, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7, 10,10, 5, 8, 8, 7,10,10, 8,10,10, 5, 8, 8, 8,11, 10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10, @@ -5557,7 +5557,7 @@ static const long _vq_lengthlist__44u7__p1_0[] = { static const static_codebook _44u7__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u7__p1_0, + (char *)_vq_lengthlist__44u7__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u7__p1_0, 0 @@ -5569,7 +5569,7 @@ static const long _vq_quantlist__44u7__p2_0[] = { 2, }; -static const long _vq_lengthlist__44u7__p2_0[] = { +static const char _vq_lengthlist__44u7__p2_0[] = { 3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6, 7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 7, @@ -5580,7 +5580,7 @@ static const long _vq_lengthlist__44u7__p2_0[] = { static const static_codebook _44u7__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44u7__p2_0, + (char *)_vq_lengthlist__44u7__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u7__p2_0, 0 @@ -5594,7 +5594,7 @@ static const long _vq_quantlist__44u7__p3_0[] = { 4, }; -static const long _vq_lengthlist__44u7__p3_0[] = { +static const char _vq_lengthlist__44u7__p3_0[] = { 2, 5, 4, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8, 9, 9,13,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9, 9,11,11, 6, 8, 9,11,11,10,11,11,14,14, 9,10,11, @@ -5639,7 +5639,7 @@ static const long _vq_lengthlist__44u7__p3_0[] = { static const static_codebook _44u7__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44u7__p3_0, + (char *)_vq_lengthlist__44u7__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u7__p3_0, 0 @@ -5653,7 +5653,7 @@ static const long _vq_quantlist__44u7__p4_0[] = { 4, }; -static const long _vq_lengthlist__44u7__p4_0[] = { +static const char _vq_lengthlist__44u7__p4_0[] = { 4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8, 9, 9,11,11, 8, 9, 9,10,11, 6, 7, 7, 9, 9, 7, 8, 8,10,10, 6, 7, 8, 9,10, 9,10,10,12,12, 9, 9,10, @@ -5698,7 +5698,7 @@ static const long _vq_lengthlist__44u7__p4_0[] = { static const static_codebook _44u7__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44u7__p4_0, + (char *)_vq_lengthlist__44u7__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u7__p4_0, 0 @@ -5716,7 +5716,7 @@ static const long _vq_quantlist__44u7__p5_0[] = { 8, }; -static const long _vq_lengthlist__44u7__p5_0[] = { +static const char _vq_lengthlist__44u7__p5_0[] = { 2, 3, 3, 6, 6, 7, 8,10,10, 4, 5, 5, 8, 7, 8, 8, 11,11, 3, 5, 5, 7, 7, 8, 9,11,11, 6, 8, 7, 9, 9, 10,10,12,12, 6, 7, 8, 9,10,10,10,12,12, 8, 8, 8, @@ -5727,7 +5727,7 @@ static const long _vq_lengthlist__44u7__p5_0[] = { static const static_codebook _44u7__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44u7__p5_0, + (char *)_vq_lengthlist__44u7__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u7__p5_0, 0 @@ -5745,7 +5745,7 @@ static const long _vq_quantlist__44u7__p6_0[] = { 8, }; -static const long _vq_lengthlist__44u7__p6_0[] = { +static const char _vq_lengthlist__44u7__p6_0[] = { 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 8, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7, 8, 8,10,10, 5, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7, @@ -5756,7 +5756,7 @@ static const long _vq_lengthlist__44u7__p6_0[] = { static const static_codebook _44u7__p6_0 = { 2, 81, - (long *)_vq_lengthlist__44u7__p6_0, + (char *)_vq_lengthlist__44u7__p6_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u7__p6_0, 0 @@ -5768,7 +5768,7 @@ static const long _vq_quantlist__44u7__p7_0[] = { 2, }; -static const long _vq_lengthlist__44u7__p7_0[] = { +static const char _vq_lengthlist__44u7__p7_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 8, 9, 9, 7, 10,10, 5, 8, 9, 7, 9,10, 8, 9, 9, 4, 9, 9, 9,11, 10, 8,10,10, 7,11,10,10,10,12,10,12,12, 7,10,10, @@ -5779,7 +5779,7 @@ static const long _vq_lengthlist__44u7__p7_0[] = { static const static_codebook _44u7__p7_0 = { 4, 81, - (long *)_vq_lengthlist__44u7__p7_0, + (char *)_vq_lengthlist__44u7__p7_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44u7__p7_0, 0 @@ -5799,7 +5799,7 @@ static const long _vq_quantlist__44u7__p7_1[] = { 10, }; -static const long _vq_lengthlist__44u7__p7_1[] = { +static const char _vq_lengthlist__44u7__p7_1[] = { 3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6, 8, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6, 7, 8, 8, 8, 8, 8, 6, 7, 6, 7, 7, 8, 8, 9, 9, 9, 9, 6, 6, 7, 7, @@ -5812,7 +5812,7 @@ static const long _vq_lengthlist__44u7__p7_1[] = { static const static_codebook _44u7__p7_1 = { 2, 121, - (long *)_vq_lengthlist__44u7__p7_1, + (char *)_vq_lengthlist__44u7__p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u7__p7_1, 0 @@ -5832,7 +5832,7 @@ static const long _vq_quantlist__44u7__p8_0[] = { 10, }; -static const long _vq_lengthlist__44u7__p8_0[] = { +static const char _vq_lengthlist__44u7__p8_0[] = { 1, 4, 4, 6, 6, 8, 8,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,11,10,12,12, 5, 6, 5, 7, 7, 9, 9,10,11,12, 12, 6, 7, 7, 8, 8,10,10,11,11,13,13, 6, 7, 7, 8, @@ -5845,7 +5845,7 @@ static const long _vq_lengthlist__44u7__p8_0[] = { static const static_codebook _44u7__p8_0 = { 2, 121, - (long *)_vq_lengthlist__44u7__p8_0, + (char *)_vq_lengthlist__44u7__p8_0, 1, -524582912, 1618345984, 4, 0, (long *)_vq_quantlist__44u7__p8_0, 0 @@ -5865,7 +5865,7 @@ static const long _vq_quantlist__44u7__p8_1[] = { 10, }; -static const long _vq_lengthlist__44u7__p8_1[] = { +static const char _vq_lengthlist__44u7__p8_1[] = { 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7, @@ -5878,7 +5878,7 @@ static const long _vq_lengthlist__44u7__p8_1[] = { static const static_codebook _44u7__p8_1 = { 2, 121, - (long *)_vq_lengthlist__44u7__p8_1, + (char *)_vq_lengthlist__44u7__p8_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u7__p8_1, 0 @@ -5898,7 +5898,7 @@ static const long _vq_quantlist__44u7__p9_0[] = { 10, }; -static const long _vq_lengthlist__44u7__p9_0[] = { +static const char _vq_lengthlist__44u7__p9_0[] = { 1, 3, 3,10,10,10,10,10,10,10,10, 4,10,10,10,10, 10,10,10,10,10,10, 4,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10, @@ -5911,7 +5911,7 @@ static const long _vq_lengthlist__44u7__p9_0[] = { static const static_codebook _44u7__p9_0 = { 2, 121, - (long *)_vq_lengthlist__44u7__p9_0, + (char *)_vq_lengthlist__44u7__p9_0, 1, -512171520, 1630791680, 4, 0, (long *)_vq_quantlist__44u7__p9_0, 0 @@ -5933,7 +5933,7 @@ static const long _vq_quantlist__44u7__p9_1[] = { 12, }; -static const long _vq_lengthlist__44u7__p9_1[] = { +static const char _vq_lengthlist__44u7__p9_1[] = { 1, 4, 4, 6, 5, 8, 6, 9, 8,10, 9,11,10, 4, 6, 6, 8, 8, 9, 9,11,10,11,11,11,11, 4, 6, 6, 8, 8,10, 9,11,11,11,11,11,12, 6, 8, 8,10,10,11,11,12,12, @@ -5949,7 +5949,7 @@ static const long _vq_lengthlist__44u7__p9_1[] = { static const static_codebook _44u7__p9_1 = { 2, 169, - (long *)_vq_lengthlist__44u7__p9_1, + (char *)_vq_lengthlist__44u7__p9_1, 1, -518889472, 1622704128, 4, 0, (long *)_vq_quantlist__44u7__p9_1, 0 @@ -6007,7 +6007,7 @@ static const long _vq_quantlist__44u7__p9_2[] = { 48, }; -static const long _vq_lengthlist__44u7__p9_2[] = { +static const char _vq_lengthlist__44u7__p9_2[] = { 2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, @@ -6016,13 +6016,13 @@ static const long _vq_lengthlist__44u7__p9_2[] = { static const static_codebook _44u7__p9_2 = { 1, 49, - (long *)_vq_lengthlist__44u7__p9_2, + (char *)_vq_lengthlist__44u7__p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44u7__p9_2, 0 }; -static const long _huff_lengthlist__44u7__short[] = { +static const char _huff_lengthlist__44u7__short[] = { 5,12,17,16,16,17,17,17,17,17, 4, 7,11,11,12, 9, 17,10,17,17, 7, 7, 8, 9, 7, 9,11,10,15,17, 7, 9, 10,11,10,12,14,12,16,17, 7, 8, 5, 7, 4, 7, 7, 8, @@ -6034,13 +6034,13 @@ static const long _huff_lengthlist__44u7__short[] = { static const static_codebook _huff_book__44u7__short = { 2, 100, - (long *)_huff_lengthlist__44u7__short, + (char *)_huff_lengthlist__44u7__short, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u8__long[] = { +static const char _huff_lengthlist__44u8__long[] = { 3, 9,13,14,14,15,14,14,15,15, 5, 4, 6, 8,10,12, 12,14,15,15, 9, 5, 4, 5, 8,10,11,13,16,16,10, 7, 4, 3, 5, 7, 9,11,13,13,10, 9, 7, 4, 4, 6, 8,10, @@ -6052,13 +6052,13 @@ static const long _huff_lengthlist__44u8__long[] = { static const static_codebook _huff_book__44u8__long = { 2, 100, - (long *)_huff_lengthlist__44u8__long, + (char *)_huff_lengthlist__44u8__long, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u8__short[] = { +static const char _huff_lengthlist__44u8__short[] = { 6,14,18,18,17,17,17,17,17,17, 4, 7, 9, 9,10,13, 15,17,17,17, 6, 7, 5, 6, 8,11,16,17,16,17, 5, 7, 5, 4, 6,10,14,17,17,17, 6, 6, 6, 5, 7,10,13,16, @@ -6070,7 +6070,7 @@ static const long _huff_lengthlist__44u8__short[] = { static const static_codebook _huff_book__44u8__short = { 2, 100, - (long *)_huff_lengthlist__44u8__short, + (char *)_huff_lengthlist__44u8__short, 0, 0, 0, 0, 0, NULL, 0 @@ -6082,7 +6082,7 @@ static const long _vq_quantlist__44u8_p1_0[] = { 2, }; -static const long _vq_lengthlist__44u8_p1_0[] = { +static const char _vq_lengthlist__44u8_p1_0[] = { 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 8, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 8, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 7, 9, 9, 9,10,11, 9,11,10, 7, 9, 9, @@ -6093,7 +6093,7 @@ static const long _vq_lengthlist__44u8_p1_0[] = { static const static_codebook _44u8_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u8_p1_0, + (char *)_vq_lengthlist__44u8_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u8_p1_0, 0 @@ -6107,7 +6107,7 @@ static const long _vq_quantlist__44u8_p2_0[] = { 4, }; -static const long _vq_lengthlist__44u8_p2_0[] = { +static const char _vq_lengthlist__44u8_p2_0[] = { 4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8, 9, 9,11,11, 8, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 8, 8,10,10, 9,10,10,12,12, 9,10,10, @@ -6152,7 +6152,7 @@ static const long _vq_lengthlist__44u8_p2_0[] = { static const static_codebook _44u8_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44u8_p2_0, + (char *)_vq_lengthlist__44u8_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u8_p2_0, 0 @@ -6170,7 +6170,7 @@ static const long _vq_quantlist__44u8_p3_0[] = { 8, }; -static const long _vq_lengthlist__44u8_p3_0[] = { +static const char _vq_lengthlist__44u8_p3_0[] = { 3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7, 8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7, @@ -6181,7 +6181,7 @@ static const long _vq_lengthlist__44u8_p3_0[] = { static const static_codebook _44u8_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44u8_p3_0, + (char *)_vq_lengthlist__44u8_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u8_p3_0, 0 @@ -6207,7 +6207,7 @@ static const long _vq_quantlist__44u8_p4_0[] = { 16, }; -static const long _vq_lengthlist__44u8_p4_0[] = { +static const char _vq_lengthlist__44u8_p4_0[] = { 4, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,11,11,11, 11, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11, 12,12, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11, @@ -6231,7 +6231,7 @@ static const long _vq_lengthlist__44u8_p4_0[] = { static const static_codebook _44u8_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44u8_p4_0, + (char *)_vq_lengthlist__44u8_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u8_p4_0, 0 @@ -6243,7 +6243,7 @@ static const long _vq_quantlist__44u8_p5_0[] = { 2, }; -static const long _vq_lengthlist__44u8_p5_0[] = { +static const char _vq_lengthlist__44u8_p5_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8, 9, 9, 7, 9, 9, 5, 8, 8, 7, 9, 9, 8, 9, 9, 5, 8, 8, 8,10, 10, 8,10,10, 7,10,10, 9,10,12, 9,12,11, 7,10,10, @@ -6254,7 +6254,7 @@ static const long _vq_lengthlist__44u8_p5_0[] = { static const static_codebook _44u8_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44u8_p5_0, + (char *)_vq_lengthlist__44u8_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44u8_p5_0, 0 @@ -6274,7 +6274,7 @@ static const long _vq_quantlist__44u8_p5_1[] = { 10, }; -static const long _vq_lengthlist__44u8_p5_1[] = { +static const char _vq_lengthlist__44u8_p5_1[] = { 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 6, 6, 7, @@ -6287,7 +6287,7 @@ static const long _vq_lengthlist__44u8_p5_1[] = { static const static_codebook _44u8_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44u8_p5_1, + (char *)_vq_lengthlist__44u8_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u8_p5_1, 0 @@ -6309,7 +6309,7 @@ static const long _vq_quantlist__44u8_p6_0[] = { 12, }; -static const long _vq_lengthlist__44u8_p6_0[] = { +static const char _vq_lengthlist__44u8_p6_0[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 6, 7, 7, 7, 8, 8, 8, 8, 9, @@ -6325,7 +6325,7 @@ static const long _vq_lengthlist__44u8_p6_0[] = { static const static_codebook _44u8_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u8_p6_0, + (char *)_vq_lengthlist__44u8_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u8_p6_0, 0 @@ -6339,14 +6339,14 @@ static const long _vq_quantlist__44u8_p6_1[] = { 4, }; -static const long _vq_lengthlist__44u8_p6_1[] = { +static const char _vq_lengthlist__44u8_p6_1[] = { 3, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44u8_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u8_p6_1, + (char *)_vq_lengthlist__44u8_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u8_p6_1, 0 @@ -6368,7 +6368,7 @@ static const long _vq_quantlist__44u8_p7_0[] = { 12, }; -static const long _vq_lengthlist__44u8_p7_0[] = { +static const char _vq_lengthlist__44u8_p7_0[] = { 1, 4, 5, 6, 6, 7, 7, 8, 8,10,10,11,11, 5, 6, 6, 7, 7, 8, 8, 9, 9,11,10,12,11, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,11,11,12, 6, 7, 7, 8, 8, 9, 9,10,10, @@ -6384,7 +6384,7 @@ static const long _vq_lengthlist__44u8_p7_0[] = { static const static_codebook _44u8_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44u8_p7_0, + (char *)_vq_lengthlist__44u8_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44u8_p7_0, 0 @@ -6404,7 +6404,7 @@ static const long _vq_quantlist__44u8_p7_1[] = { 10, }; -static const long _vq_lengthlist__44u8_p7_1[] = { +static const char _vq_lengthlist__44u8_p7_1[] = { 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7, @@ -6417,7 +6417,7 @@ static const long _vq_lengthlist__44u8_p7_1[] = { static const static_codebook _44u8_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44u8_p7_1, + (char *)_vq_lengthlist__44u8_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u8_p7_1, 0 @@ -6441,7 +6441,7 @@ static const long _vq_quantlist__44u8_p8_0[] = { 14, }; -static const long _vq_lengthlist__44u8_p8_0[] = { +static const char _vq_lengthlist__44u8_p8_0[] = { 1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 8,10, 9,11,10, 4, 6, 6, 8, 8,10, 9, 9, 9,10,10,11,10,12,10, 4, 6, 6, 8, 8,10,10, 9, 9,10,10,11,11,11,12, 7, 8, 8, @@ -6461,7 +6461,7 @@ static const long _vq_lengthlist__44u8_p8_0[] = { static const static_codebook _44u8_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44u8_p8_0, + (char *)_vq_lengthlist__44u8_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44u8_p8_0, 0 @@ -6491,7 +6491,7 @@ static const long _vq_quantlist__44u8_p8_1[] = { 20, }; -static const long _vq_lengthlist__44u8_p8_1[] = { +static const char _vq_lengthlist__44u8_p8_1[] = { 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, @@ -6524,7 +6524,7 @@ static const long _vq_lengthlist__44u8_p8_1[] = { static const static_codebook _44u8_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44u8_p8_1, + (char *)_vq_lengthlist__44u8_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44u8_p8_1, 0 @@ -6542,7 +6542,7 @@ static const long _vq_quantlist__44u8_p9_0[] = { 8, }; -static const long _vq_lengthlist__44u8_p9_0[] = { +static const char _vq_lengthlist__44u8_p9_0[] = { 1, 3, 3, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, @@ -6553,7 +6553,7 @@ static const long _vq_lengthlist__44u8_p9_0[] = { static const static_codebook _44u8_p9_0 = { 2, 81, - (long *)_vq_lengthlist__44u8_p9_0, + (char *)_vq_lengthlist__44u8_p9_0, 1, -511895552, 1631393792, 4, 0, (long *)_vq_quantlist__44u8_p9_0, 0 @@ -6581,7 +6581,7 @@ static const long _vq_quantlist__44u8_p9_1[] = { 18, }; -static const long _vq_lengthlist__44u8_p9_1[] = { +static const char _vq_lengthlist__44u8_p9_1[] = { 1, 4, 4, 7, 7, 8, 7, 8, 6, 9, 7,10, 8,11,10,11, 11,11,11, 4, 7, 6, 9, 9,10, 9, 9, 9,10,10,11,10, 11,10,11,11,13,11, 4, 7, 7, 9, 9, 9, 9, 9, 9,10, @@ -6609,7 +6609,7 @@ static const long _vq_lengthlist__44u8_p9_1[] = { static const static_codebook _44u8_p9_1 = { 2, 361, - (long *)_vq_lengthlist__44u8_p9_1, + (char *)_vq_lengthlist__44u8_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__44u8_p9_1, 0 @@ -6667,7 +6667,7 @@ static const long _vq_quantlist__44u8_p9_2[] = { 48, }; -static const long _vq_lengthlist__44u8_p9_2[] = { +static const char _vq_lengthlist__44u8_p9_2[] = { 2, 3, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -6676,13 +6676,13 @@ static const long _vq_lengthlist__44u8_p9_2[] = { static const static_codebook _44u8_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44u8_p9_2, + (char *)_vq_lengthlist__44u8_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44u8_p9_2, 0 }; -static const long _huff_lengthlist__44u9__long[] = { +static const char _huff_lengthlist__44u9__long[] = { 3, 9,13,13,14,15,14,14,15,15, 5, 5, 9,10,12,12, 13,14,16,15,10, 6, 6, 6, 8,11,12,13,16,15,11, 7, 5, 3, 5, 8,10,12,15,15,10,10, 7, 4, 3, 5, 8,10, @@ -6694,13 +6694,13 @@ static const long _huff_lengthlist__44u9__long[] = { static const static_codebook _huff_book__44u9__long = { 2, 100, - (long *)_huff_lengthlist__44u9__long, + (char *)_huff_lengthlist__44u9__long, 0, 0, 0, 0, 0, NULL, 0 }; -static const long _huff_lengthlist__44u9__short[] = { +static const char _huff_lengthlist__44u9__short[] = { 9,16,18,18,17,17,17,17,17,17, 5, 8,11,12,11,12, 17,17,16,16, 6, 6, 8, 8, 9,10,14,15,16,16, 6, 7, 7, 4, 6, 9,13,16,16,16, 6, 6, 7, 4, 5, 8,11,15, @@ -6712,7 +6712,7 @@ static const long _huff_lengthlist__44u9__short[] = { static const static_codebook _huff_book__44u9__short = { 2, 100, - (long *)_huff_lengthlist__44u9__short, + (char *)_huff_lengthlist__44u9__short, 0, 0, 0, 0, 0, NULL, 0 @@ -6724,7 +6724,7 @@ static const long _vq_quantlist__44u9_p1_0[] = { 2, }; -static const long _vq_lengthlist__44u9_p1_0[] = { +static const char _vq_lengthlist__44u9_p1_0[] = { 1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 8, 9, 9, 9,10,11, 9,11,11, 7, 9, 9, @@ -6735,7 +6735,7 @@ static const long _vq_lengthlist__44u9_p1_0[] = { static const static_codebook _44u9_p1_0 = { 4, 81, - (long *)_vq_lengthlist__44u9_p1_0, + (char *)_vq_lengthlist__44u9_p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44u9_p1_0, 0 @@ -6749,7 +6749,7 @@ static const long _vq_quantlist__44u9_p2_0[] = { 4, }; -static const long _vq_lengthlist__44u9_p2_0[] = { +static const char _vq_lengthlist__44u9_p2_0[] = { 3, 5, 5, 8, 8, 5, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8, 9, 9,11,10, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8, 8,10,10, 7, 8, 8, 9,10, 9,10,10,11,11, 9, 9,10, @@ -6794,7 +6794,7 @@ static const long _vq_lengthlist__44u9_p2_0[] = { static const static_codebook _44u9_p2_0 = { 4, 625, - (long *)_vq_lengthlist__44u9_p2_0, + (char *)_vq_lengthlist__44u9_p2_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u9_p2_0, 0 @@ -6812,7 +6812,7 @@ static const long _vq_quantlist__44u9_p3_0[] = { 8, }; -static const long _vq_lengthlist__44u9_p3_0[] = { +static const char _vq_lengthlist__44u9_p3_0[] = { 3, 4, 4, 5, 5, 7, 7, 8, 8, 4, 5, 5, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 9, 7, 7, 7, @@ -6823,7 +6823,7 @@ static const long _vq_lengthlist__44u9_p3_0[] = { static const static_codebook _44u9_p3_0 = { 2, 81, - (long *)_vq_lengthlist__44u9_p3_0, + (char *)_vq_lengthlist__44u9_p3_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44u9_p3_0, 0 @@ -6849,7 +6849,7 @@ static const long _vq_quantlist__44u9_p4_0[] = { 16, }; -static const long _vq_lengthlist__44u9_p4_0[] = { +static const char _vq_lengthlist__44u9_p4_0[] = { 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11, 11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 11,11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10, @@ -6873,7 +6873,7 @@ static const long _vq_lengthlist__44u9_p4_0[] = { static const static_codebook _44u9_p4_0 = { 2, 289, - (long *)_vq_lengthlist__44u9_p4_0, + (char *)_vq_lengthlist__44u9_p4_0, 1, -529530880, 1611661312, 5, 0, (long *)_vq_quantlist__44u9_p4_0, 0 @@ -6885,7 +6885,7 @@ static const long _vq_quantlist__44u9_p5_0[] = { 2, }; -static const long _vq_lengthlist__44u9_p5_0[] = { +static const char _vq_lengthlist__44u9_p5_0[] = { 1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8, 9, 9, 7, 9, 9, 5, 8, 8, 7, 9, 9, 8, 9, 9, 5, 8, 8, 8,10, 10, 8,10,10, 7,10,10, 9,10,12, 9,11,11, 7,10,10, @@ -6896,7 +6896,7 @@ static const long _vq_lengthlist__44u9_p5_0[] = { static const static_codebook _44u9_p5_0 = { 4, 81, - (long *)_vq_lengthlist__44u9_p5_0, + (char *)_vq_lengthlist__44u9_p5_0, 1, -529137664, 1618345984, 2, 0, (long *)_vq_quantlist__44u9_p5_0, 0 @@ -6916,7 +6916,7 @@ static const long _vq_quantlist__44u9_p5_1[] = { 10, }; -static const long _vq_lengthlist__44u9_p5_1[] = { +static const char _vq_lengthlist__44u9_p5_1[] = { 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 7, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 6, 6, 6, 7, @@ -6929,7 +6929,7 @@ static const long _vq_lengthlist__44u9_p5_1[] = { static const static_codebook _44u9_p5_1 = { 2, 121, - (long *)_vq_lengthlist__44u9_p5_1, + (char *)_vq_lengthlist__44u9_p5_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u9_p5_1, 0 @@ -6951,7 +6951,7 @@ static const long _vq_quantlist__44u9_p6_0[] = { 12, }; -static const long _vq_lengthlist__44u9_p6_0[] = { +static const char _vq_lengthlist__44u9_p6_0[] = { 2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 6, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 5, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 6, 7, 7, 8, 8, 8, 8, 9, 9, @@ -6967,7 +6967,7 @@ static const long _vq_lengthlist__44u9_p6_0[] = { static const static_codebook _44u9_p6_0 = { 2, 169, - (long *)_vq_lengthlist__44u9_p6_0, + (char *)_vq_lengthlist__44u9_p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44u9_p6_0, 0 @@ -6981,14 +6981,14 @@ static const long _vq_quantlist__44u9_p6_1[] = { 4, }; -static const long _vq_lengthlist__44u9_p6_1[] = { +static const char _vq_lengthlist__44u9_p6_1[] = { 4, 4, 4, 5, 5, 4, 5, 4, 5, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const static_codebook _44u9_p6_1 = { 2, 25, - (long *)_vq_lengthlist__44u9_p6_1, + (char *)_vq_lengthlist__44u9_p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44u9_p6_1, 0 @@ -7010,7 +7010,7 @@ static const long _vq_quantlist__44u9_p7_0[] = { 12, }; -static const long _vq_lengthlist__44u9_p7_0[] = { +static const char _vq_lengthlist__44u9_p7_0[] = { 1, 4, 5, 6, 6, 7, 7, 8, 9,10,10,11,11, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11, 6, 7, 7, 8, 8, 9, 9,10,10, @@ -7026,7 +7026,7 @@ static const long _vq_lengthlist__44u9_p7_0[] = { static const static_codebook _44u9_p7_0 = { 2, 169, - (long *)_vq_lengthlist__44u9_p7_0, + (char *)_vq_lengthlist__44u9_p7_0, 1, -523206656, 1618345984, 4, 0, (long *)_vq_quantlist__44u9_p7_0, 0 @@ -7046,7 +7046,7 @@ static const long _vq_quantlist__44u9_p7_1[] = { 10, }; -static const long _vq_lengthlist__44u9_p7_1[] = { +static const char _vq_lengthlist__44u9_p7_1[] = { 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, @@ -7059,7 +7059,7 @@ static const long _vq_lengthlist__44u9_p7_1[] = { static const static_codebook _44u9_p7_1 = { 2, 121, - (long *)_vq_lengthlist__44u9_p7_1, + (char *)_vq_lengthlist__44u9_p7_1, 1, -531365888, 1611661312, 4, 0, (long *)_vq_quantlist__44u9_p7_1, 0 @@ -7083,7 +7083,7 @@ static const long _vq_quantlist__44u9_p8_0[] = { 14, }; -static const long _vq_lengthlist__44u9_p8_0[] = { +static const char _vq_lengthlist__44u9_p8_0[] = { 1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10, 9,11,10, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,10,12,10, 4, 6, 6, 8, 8, 9,10, 9, 9,10,10,11,11,12,12, 7, 8, 8, @@ -7103,7 +7103,7 @@ static const long _vq_lengthlist__44u9_p8_0[] = { static const static_codebook _44u9_p8_0 = { 2, 225, - (long *)_vq_lengthlist__44u9_p8_0, + (char *)_vq_lengthlist__44u9_p8_0, 1, -520986624, 1620377600, 4, 0, (long *)_vq_quantlist__44u9_p8_0, 0 @@ -7133,7 +7133,7 @@ static const long _vq_quantlist__44u9_p8_1[] = { 20, }; -static const long _vq_lengthlist__44u9_p8_1[] = { +static const char _vq_lengthlist__44u9_p8_1[] = { 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8, @@ -7166,7 +7166,7 @@ static const long _vq_lengthlist__44u9_p8_1[] = { static const static_codebook _44u9_p8_1 = { 2, 441, - (long *)_vq_lengthlist__44u9_p8_1, + (char *)_vq_lengthlist__44u9_p8_1, 1, -529268736, 1611661312, 5, 0, (long *)_vq_quantlist__44u9_p8_1, 0 @@ -7190,7 +7190,7 @@ static const long _vq_quantlist__44u9_p9_0[] = { 14, }; -static const long _vq_lengthlist__44u9_p9_0[] = { +static const char _vq_lengthlist__44u9_p9_0[] = { 1, 3, 3,11,11,11,11,11,11,11,11,11,11,11,11, 4, 10,11,11,11,11,11,11,11,11,11,11,11,11,11, 4,10, 10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -7210,7 +7210,7 @@ static const long _vq_lengthlist__44u9_p9_0[] = { static const static_codebook _44u9_p9_0 = { 2, 225, - (long *)_vq_lengthlist__44u9_p9_0, + (char *)_vq_lengthlist__44u9_p9_0, 1, -510036736, 1631393792, 4, 0, (long *)_vq_quantlist__44u9_p9_0, 0 @@ -7238,7 +7238,7 @@ static const long _vq_quantlist__44u9_p9_1[] = { 18, }; -static const long _vq_lengthlist__44u9_p9_1[] = { +static const char _vq_lengthlist__44u9_p9_1[] = { 1, 4, 4, 7, 7, 8, 7, 8, 7, 9, 8,10, 9,10,10,11, 11,12,12, 4, 7, 6, 9, 9,10, 9, 9, 8,10,10,11,10, 12,10,13,12,13,12, 4, 6, 6, 9, 9, 9, 9, 9, 9,10, @@ -7266,7 +7266,7 @@ static const long _vq_lengthlist__44u9_p9_1[] = { static const static_codebook _44u9_p9_1 = { 2, 361, - (long *)_vq_lengthlist__44u9_p9_1, + (char *)_vq_lengthlist__44u9_p9_1, 1, -518287360, 1622704128, 5, 0, (long *)_vq_quantlist__44u9_p9_1, 0 @@ -7324,7 +7324,7 @@ static const long _vq_quantlist__44u9_p9_2[] = { 48, }; -static const long _vq_lengthlist__44u9_p9_2[] = { +static const char _vq_lengthlist__44u9_p9_2[] = { 2, 4, 4, 5, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, @@ -7333,13 +7333,13 @@ static const long _vq_lengthlist__44u9_p9_2[] = { static const static_codebook _44u9_p9_2 = { 1, 49, - (long *)_vq_lengthlist__44u9_p9_2, + (char *)_vq_lengthlist__44u9_p9_2, 1, -526909440, 1611661312, 6, 0, (long *)_vq_quantlist__44u9_p9_2, 0 }; -static const long _huff_lengthlist__44un1__long[] = { +static const char _huff_lengthlist__44un1__long[] = { 5, 6,12, 9,14, 9, 9,19, 6, 1, 5, 5, 8, 7, 9,19, 12, 4, 4, 7, 7, 9,11,18, 9, 5, 6, 6, 8, 7, 8,17, 14, 8, 7, 8, 8,10,12,18, 9, 6, 8, 6, 8, 6, 8,18, @@ -7348,7 +7348,7 @@ static const long _huff_lengthlist__44un1__long[] = { static const static_codebook _huff_book__44un1__long = { 2, 64, - (long *)_huff_lengthlist__44un1__long, + (char *)_huff_lengthlist__44un1__long, 0, 0, 0, 0, 0, NULL, 0 @@ -7360,7 +7360,7 @@ static const long _vq_quantlist__44un1__p1_0[] = { 2, }; -static const long _vq_lengthlist__44un1__p1_0[] = { +static const char _vq_lengthlist__44un1__p1_0[] = { 1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8, 10,11, 5, 8, 8, 8,11,10, 8,11,10, 4, 9, 9, 8,11, 11, 8,11,11, 8,12,11,10,12,14,11,13,13, 7,11,11, @@ -7371,7 +7371,7 @@ static const long _vq_lengthlist__44un1__p1_0[] = { static const static_codebook _44un1__p1_0 = { 4, 81, - (long *)_vq_lengthlist__44un1__p1_0, + (char *)_vq_lengthlist__44un1__p1_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44un1__p1_0, 0 @@ -7383,7 +7383,7 @@ static const long _vq_quantlist__44un1__p2_0[] = { 2, }; -static const long _vq_lengthlist__44un1__p2_0[] = { +static const char _vq_lengthlist__44un1__p2_0[] = { 2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6, 7, 9, 5, 7, 7, 6, 8, 7, 7, 9, 8, 4, 7, 7, 7, 9, 8, 7, 8, 8, 7, 9, 8, 8, 8,10, 9,10,10, 6, 8, 8, @@ -7394,7 +7394,7 @@ static const long _vq_lengthlist__44un1__p2_0[] = { static const static_codebook _44un1__p2_0 = { 4, 81, - (long *)_vq_lengthlist__44un1__p2_0, + (char *)_vq_lengthlist__44un1__p2_0, 1, -535822336, 1611661312, 2, 0, (long *)_vq_quantlist__44un1__p2_0, 0 @@ -7408,7 +7408,7 @@ static const long _vq_quantlist__44un1__p3_0[] = { 4, }; -static const long _vq_lengthlist__44un1__p3_0[] = { +static const char _vq_lengthlist__44un1__p3_0[] = { 1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9, 10, 9,12,12, 9, 9,10,11,12, 6, 8, 8,10,10, 8,10, 10,11,11, 8, 9,10,11,11,10,11,11,13,13,10,11,11, @@ -7453,7 +7453,7 @@ static const long _vq_lengthlist__44un1__p3_0[] = { static const static_codebook _44un1__p3_0 = { 4, 625, - (long *)_vq_lengthlist__44un1__p3_0, + (char *)_vq_lengthlist__44un1__p3_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44un1__p3_0, 0 @@ -7467,7 +7467,7 @@ static const long _vq_quantlist__44un1__p4_0[] = { 4, }; -static const long _vq_lengthlist__44un1__p4_0[] = { +static const char _vq_lengthlist__44un1__p4_0[] = { 3, 5, 5, 9, 9, 5, 6, 6,10, 9, 5, 6, 6, 9,10,10, 10,10,12,11, 9,10,10,12,12, 5, 7, 7,10,10, 7, 7, 8,10,11, 7, 7, 8,10,11,10,10,11,11,13,10,10,11, @@ -7512,7 +7512,7 @@ static const long _vq_lengthlist__44un1__p4_0[] = { static const static_codebook _44un1__p4_0 = { 4, 625, - (long *)_vq_lengthlist__44un1__p4_0, + (char *)_vq_lengthlist__44un1__p4_0, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44un1__p4_0, 0 @@ -7530,7 +7530,7 @@ static const long _vq_quantlist__44un1__p5_0[] = { 8, }; -static const long _vq_lengthlist__44un1__p5_0[] = { +static const char _vq_lengthlist__44un1__p5_0[] = { 1, 4, 4, 7, 7, 8, 8, 9, 9, 4, 6, 5, 8, 7, 8, 8, 10, 9, 4, 6, 6, 8, 8, 8, 8,10,10, 7, 8, 7, 9, 9, 9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,11, 8, 8, 8, @@ -7541,7 +7541,7 @@ static const long _vq_lengthlist__44un1__p5_0[] = { static const static_codebook _44un1__p5_0 = { 2, 81, - (long *)_vq_lengthlist__44un1__p5_0, + (char *)_vq_lengthlist__44un1__p5_0, 1, -531628032, 1611661312, 4, 0, (long *)_vq_quantlist__44un1__p5_0, 0 @@ -7563,7 +7563,7 @@ static const long _vq_quantlist__44un1__p6_0[] = { 12, }; -static const long _vq_lengthlist__44un1__p6_0[] = { +static const char _vq_lengthlist__44un1__p6_0[] = { 1, 4, 4, 6, 6, 8, 8,10,10,11,11,15,15, 4, 5, 5, 8, 8, 9, 9,11,11,12,12,16,16, 4, 5, 6, 8, 8, 9, 9,11,11,12,12,14,14, 7, 8, 8, 9, 9,10,10,11,12, @@ -7579,7 +7579,7 @@ static const long _vq_lengthlist__44un1__p6_0[] = { static const static_codebook _44un1__p6_0 = { 2, 169, - (long *)_vq_lengthlist__44un1__p6_0, + (char *)_vq_lengthlist__44un1__p6_0, 1, -526516224, 1616117760, 4, 0, (long *)_vq_quantlist__44un1__p6_0, 0 @@ -7593,14 +7593,14 @@ static const long _vq_quantlist__44un1__p6_1[] = { 4, }; -static const long _vq_lengthlist__44un1__p6_1[] = { +static const char _vq_lengthlist__44un1__p6_1[] = { 2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 6, 5, 5, 6, 5, 6, 6, 5, 6, 6, 6, 6, }; static const static_codebook _44un1__p6_1 = { 2, 25, - (long *)_vq_lengthlist__44un1__p6_1, + (char *)_vq_lengthlist__44un1__p6_1, 1, -533725184, 1611661312, 3, 0, (long *)_vq_quantlist__44un1__p6_1, 0 @@ -7614,7 +7614,7 @@ static const long _vq_quantlist__44un1__p7_0[] = { 4, }; -static const long _vq_lengthlist__44un1__p7_0[] = { +static const char _vq_lengthlist__44un1__p7_0[] = { 1, 5, 3,11,11,11,11,11,11,11, 8,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, @@ -7659,7 +7659,7 @@ static const long _vq_lengthlist__44un1__p7_0[] = { static const static_codebook _44un1__p7_0 = { 4, 625, - (long *)_vq_lengthlist__44un1__p7_0, + (char *)_vq_lengthlist__44un1__p7_0, 1, -518709248, 1626677248, 3, 0, (long *)_vq_quantlist__44un1__p7_0, 0 @@ -7681,7 +7681,7 @@ static const long _vq_quantlist__44un1__p7_1[] = { 12, }; -static const long _vq_lengthlist__44un1__p7_1[] = { +static const char _vq_lengthlist__44un1__p7_1[] = { 1, 4, 4, 6, 6, 6, 6, 9, 8, 9, 8, 8, 8, 5, 7, 7, 7, 7, 8, 8, 8,10, 8,10, 8, 9, 5, 7, 7, 8, 7, 7, 8,10,10,11,10,12,11, 7, 8, 8, 9, 9, 9,10,11,11, @@ -7697,7 +7697,7 @@ static const long _vq_lengthlist__44un1__p7_1[] = { static const static_codebook _44un1__p7_1 = { 2, 169, - (long *)_vq_lengthlist__44un1__p7_1, + (char *)_vq_lengthlist__44un1__p7_1, 1, -523010048, 1618608128, 4, 0, (long *)_vq_quantlist__44un1__p7_1, 0 @@ -7719,7 +7719,7 @@ static const long _vq_quantlist__44un1__p7_2[] = { 12, }; -static const long _vq_lengthlist__44un1__p7_2[] = { +static const char _vq_lengthlist__44un1__p7_2[] = { 3, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9, 9, 8, 4, 5, 5, 6, 6, 8, 8, 9, 8, 9, 9, 9, 9, 4, 5, 5, 7, 6, 8, 8, 8, 8, 9, 8, 9, 8, 6, 7, 7, 7, 8, 8, 8, 9, 9, @@ -7735,13 +7735,13 @@ static const long _vq_lengthlist__44un1__p7_2[] = { static const static_codebook _44un1__p7_2 = { 2, 169, - (long *)_vq_lengthlist__44un1__p7_2, + (char *)_vq_lengthlist__44un1__p7_2, 1, -531103744, 1611661312, 4, 0, (long *)_vq_quantlist__44un1__p7_2, 0 }; -static const long _huff_lengthlist__44un1__short[] = { +static const char _huff_lengthlist__44un1__short[] = { 12,12,14,12,14,14,14,14,12, 6, 6, 8, 9, 9,11,14, 12, 4, 2, 6, 6, 7,11,14,13, 6, 5, 7, 8, 9,11,14, 13, 8, 5, 8, 6, 8,12,14,12, 7, 7, 8, 8, 8,10,14, @@ -7750,7 +7750,7 @@ static const long _huff_lengthlist__44un1__short[] = { static const static_codebook _huff_book__44un1__short = { 2, 64, - (long *)_huff_lengthlist__44un1__short, + (char *)_huff_lengthlist__44un1__short, 0, 0, 0, 0, 0, NULL, 0 diff --git a/drivers/vorbis/codebook.c b/drivers/vorbis/codebook.c index 8a928cebb9..72f8a17a35 100644 --- a/drivers/vorbis/codebook.c +++ b/drivers/vorbis/codebook.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: basic codebook pack/unpack/code/decode operations - last mod: $Id: codebook.c 17553 2010-10-21 17:54:26Z tterribe $ + last mod: $Id: codebook.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -53,16 +53,16 @@ int vorbis_staticbook_pack(const static_codebook *c,oggpack_buffer *opb){ oggpack_write(opb,c->lengthlist[0]-1,5); /* 1 to 32 */ for(i=1;i<c->entries;i++){ - long this=c->lengthlist[i]; - long last=c->lengthlist[i-1]; + char this=c->lengthlist[i]; + char last=c->lengthlist[i-1]; if(this>last){ for(j=last;j<this;j++){ - oggpack_write(opb,i-count,_ilog(c->entries-count)); + oggpack_write(opb,i-count,ov_ilog(c->entries-count)); count=i; } } } - oggpack_write(opb,i-count,_ilog(c->entries-count)); + oggpack_write(opb,i-count,ov_ilog(c->entries-count)); }else{ /* length random. Again, we don't code the codeword itself, just @@ -159,7 +159,7 @@ static_codebook *vorbis_staticbook_unpack(oggpack_buffer *opb){ s->entries=oggpack_read(opb,24); if(s->entries==-1)goto _eofout; - if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout; + if(ov_ilog(s->dim)+ov_ilog(s->entries)>24)goto _eofout; /* codeword ordering.... length ordered or unordered? */ switch((int)oggpack_read(opb,1)){ @@ -203,7 +203,7 @@ static_codebook *vorbis_staticbook_unpack(oggpack_buffer *opb){ s->lengthlist=_ogg_malloc(sizeof(*s->lengthlist)*s->entries); for(i=0;i<s->entries;){ - long num=oggpack_read(opb,_ilog(s->entries-i)); + long num=oggpack_read(opb,ov_ilog(s->entries-i)); if(num==-1)goto _eofout; if(length>32 || num>s->entries-i || (num>0 && (num-1)>>(length-1)>1)){ @@ -312,6 +312,12 @@ STIN long decode_packed_entry_number(codebook *book, oggpack_buffer *b){ hi=book->used_entries; } + /* Single entry codebooks use a firsttablen of 1 and a + dec_maxlength of 1. If a single-entry codebook gets here (due to + failure to read one bit above), the next look attempt will also + fail and we'll correctly kick out instead of trying to walk the + underformed tree */ + lok = oggpack_look(b, read); while(lok<0 && read>1) @@ -367,6 +373,7 @@ long vorbis_book_decode(codebook *book, oggpack_buffer *b){ } /* returns 0 on OK or -1 on eof *************************************/ +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){ if(book->used_entries>0){ int step=n/book->dim; @@ -386,6 +393,7 @@ long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){ return(0); } +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodev_add(codebook *book,float *a,oggpack_buffer *b,int n){ if(book->used_entries>0){ int i,j,entry; @@ -431,6 +439,9 @@ long vorbis_book_decodev_add(codebook *book,float *a,oggpack_buffer *b,int n){ return(0); } +/* unlike the others, we guard against n not being an integer number + of <dim> internally rather than in the upper layer (called only by + floor0) */ long vorbis_book_decodev_set(codebook *book,float *a,oggpack_buffer *b,int n){ if(book->used_entries>0){ int i,j,entry; @@ -440,15 +451,15 @@ long vorbis_book_decodev_set(codebook *book,float *a,oggpack_buffer *b,int n){ entry = decode_packed_entry_number(book,b); if(entry==-1)return(-1); t = book->valuelist+entry*book->dim; - for (j=0;j<book->dim;) + for (j=0;i<n && j<book->dim;){ a[i++]=t[j++]; + } } }else{ - int i,j; + int i; for(i=0;i<n;){ - for (j=0;j<book->dim;) - a[i++]=0.f; + a[i++]=0.f; } } return(0); diff --git a/drivers/vorbis/codebook.h b/drivers/vorbis/codebook.h index 94c30054cf..537d6c12d3 100644 --- a/drivers/vorbis/codebook.h +++ b/drivers/vorbis/codebook.h @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: basic shared codebook operations - last mod: $Id: codebook.h 17030 2010-03-25 06:52:55Z xiphmont $ + last mod: $Id: codebook.h 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -34,14 +34,14 @@ */ typedef struct static_codebook{ - long dim; /* codebook dimensions (elements per vector) */ - long entries; /* codebook entries */ - long *lengthlist; /* codeword lengths in bits */ + long dim; /* codebook dimensions (elements per vector) */ + long entries; /* codebook entries */ + char *lengthlist; /* codeword lengths in bits */ /* mapping ***************************************************************/ - int maptype; /* 0=none - 1=implicitly populated values from map column - 2=listed arbitrary values */ + int maptype; /* 0=none + 1=implicitly populated values from map column + 2=listed arbitrary values */ /* The below does a linear, single monotonic sequence mapping. */ long q_min; /* packed 32 bit float; quant value 0 maps to minval */ @@ -89,7 +89,6 @@ extern float *_book_logdist(const static_codebook *b,float *vals); extern float _float32_unpack(long val); extern long _float32_pack(float val); extern int _best(codebook *book, float *a, int step); -extern int _ilog(unsigned int v); extern long _book_maptype1_quantvals(const static_codebook *b); extern int vorbis_book_besterror(codebook *book,float *a,int step,int addmul); diff --git a/drivers/vorbis/floor0.c b/drivers/vorbis/floor0.c index 4c32e91991..213cce4ec8 100644 --- a/drivers/vorbis/floor0.c +++ b/drivers/vorbis/floor0.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: floor backend 0 implementation - last mod: $Id: floor0.c 17558 2010-10-22 00:24:41Z tterribe $ + last mod: $Id: floor0.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -147,6 +147,9 @@ static vorbis_look_floor *floor0_look(vorbis_dsp_state *vd, vorbis_info_floor *i){ vorbis_info_floor0 *info=(vorbis_info_floor0 *)i; vorbis_look_floor0 *look=_ogg_calloc(1,sizeof(*look)); + + (void)vd; + look->m=info->order; look->ln=info->barkmap; look->vi=info; @@ -165,7 +168,7 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){ if(ampraw>0){ /* also handles the -1 out of data case */ long maxval=(1<<info->ampbits)-1; float amp=(float)ampraw/maxval*info->ampdB; - int booknum=oggpack_read(&vb->opb,_ilog(info->numbooks)); + int booknum=oggpack_read(&vb->opb,ov_ilog(info->numbooks)); if(booknum!=-1 && booknum<info->numbooks){ /* be paranoid */ codec_setup_info *ci=vb->vd->vi->codec_setup; @@ -177,10 +180,9 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){ vector */ float *lsp=_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+b->dim+1)); - for(j=0;j<look->m;j+=b->dim) - if(vorbis_book_decodev_set(b,lsp+j,&vb->opb,b->dim)==-1)goto eop; + if(vorbis_book_decodev_set(b,lsp,&vb->opb,look->m)==-1)goto eop; for(j=0;j<look->m;){ - for(k=0;k<b->dim;k++,j++)lsp[j]+=last; + for(k=0;j<look->m && k<b->dim;k++,j++)lsp[j]+=last; last=lsp[j-1]; } diff --git a/drivers/vorbis/floor1.c b/drivers/vorbis/floor1.c index ae3dcedb1f..d8bd4645c1 100644 --- a/drivers/vorbis/floor1.c +++ b/drivers/vorbis/floor1.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: floor backend 1 implementation - last mod: $Id: floor1.c 17555 2010-10-21 18:14:51Z tterribe $ + last mod: $Id: floor1.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -72,25 +72,6 @@ static void floor1_free_look(vorbis_look_floor *i){ } } -static int ilog(unsigned int v){ - int ret=0; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - -static int ilog2(unsigned int v){ - int ret=0; - if(v)--v; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ vorbis_info_floor1 *info=(vorbis_info_floor1 *)i; int j,k; @@ -117,8 +98,10 @@ static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ /* save out the post list */ oggpack_write(opb,info->mult-1,2); /* only 1,2,3,4 legal now */ - oggpack_write(opb,ilog2(maxposit),4); - rangebits=ilog2(maxposit); + /* maxposit cannot legally be less than 1; this is encode-side, we + can assume our setup is OK */ + oggpack_write(opb,ov_ilog(maxposit-1),4); + rangebits=ov_ilog(maxposit-1); for(j=0,k=0;j<info->partitions;j++){ count+=info->class_dim[info->partitionclass[j]]; @@ -167,6 +150,7 @@ static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){ for(j=0,k=0;j<info->partitions;j++){ count+=info->class_dim[info->partitionclass[j]]; + if(count>VIF_POSIT) goto err_out; for(;k<count;k++){ int t=info->postlist[k+2]=oggpack_read(opb,rangebits); if(t<0 || t>=(1<<rangebits)) @@ -202,6 +186,8 @@ static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd, vorbis_look_floor1 *look=_ogg_calloc(1,sizeof(*look)); int i,j,n=0; + (void)vd; + look->vi=info; look->n=info->postlist[1]; @@ -851,9 +837,9 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, /* beginning/end post */ look->frames++; - look->postbits+=ilog(look->quant_q-1)*2; - oggpack_write(opb,out[0],ilog(look->quant_q-1)); - oggpack_write(opb,out[1],ilog(look->quant_q-1)); + look->postbits+=ov_ilog(look->quant_q-1)*2; + oggpack_write(opb,out[0],ov_ilog(look->quant_q-1)); + oggpack_write(opb,out[1],ov_ilog(look->quant_q-1)); /* partition by partition */ @@ -869,7 +855,9 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb, /* generate the partition's first stage cascade value */ if(csubbits){ - int maxval[8]; + int maxval[8]={0,0,0,0,0,0,0,0}; /* gcc's static analysis + issues a warning without + initialization */ for(k=0;k<csub;k++){ int booknum=info->class_subbook[class][k]; if(booknum<0){ @@ -977,8 +965,8 @@ static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){ if(oggpack_read(&vb->opb,1)==1){ int *fit_value=_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value)); - fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); - fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1)); + fit_value[0]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1)); + fit_value[1]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1)); /* partition by partition */ for(i=0,j=2;i<info->partitions;i++){ diff --git a/drivers/vorbis/info.c b/drivers/vorbis/info.c index 3932480a44..8a2a001f99 100644 --- a/drivers/vorbis/info.c +++ b/drivers/vorbis/info.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: maintain the info structure, info <-> header packets - last mod: $Id: info.c 17584 2010-11-01 19:26:16Z xiphmont $ + last mod: $Id: info.c 19441 2015-01-21 01:17:41Z xiphmont $ ********************************************************************/ @@ -31,20 +31,10 @@ #include "misc.h" #include "os.h" -#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.2" -#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20101101 (Schaufenugget)" +#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.5" +#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)" /* helpers */ -static int ilog2(unsigned int v){ - int ret=0; - if(v)--v; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){ while(bytes--){ @@ -272,7 +262,6 @@ static int _vorbis_unpack_comment(vorbis_comment *vc,oggpack_buffer *opb){ static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){ codec_setup_info *ci=vi->codec_setup; int i; - if(!ci)return(OV_EFAULT); /* codebooks */ ci->books=oggpack_read(opb,8)+1; @@ -411,6 +400,10 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op) /* um... we didn't get the initial header */ return(OV_EBADHEADER); } + if(vc->vendor!=NULL){ + /* previously initialized comment header */ + return(OV_EBADHEADER); + } return(_vorbis_unpack_comment(vc,&opb)); @@ -419,6 +412,14 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op) /* um... we didn;t get the initial header or comments yet */ return(OV_EBADHEADER); } + if(vi->codec_setup==NULL){ + /* improperly initialized vorbis_info */ + return(OV_EFAULT); + } + if(((codec_setup_info *)vi->codec_setup)->books>0){ + /* previously initialized setup header */ + return(OV_EBADHEADER); + } return(_vorbis_unpack_books(vi,&opb)); @@ -436,7 +437,11 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op) static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){ codec_setup_info *ci=vi->codec_setup; - if(!ci)return(OV_EFAULT); + if(!ci|| + ci->blocksizes[0]<64|| + ci->blocksizes[1]<ci->blocksizes[0]){ + return(OV_EFAULT); + } /* preamble */ oggpack_write(opb,0x01,8); @@ -451,8 +456,8 @@ static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){ oggpack_write(opb,vi->bitrate_nominal,32); oggpack_write(opb,vi->bitrate_lower,32); - oggpack_write(opb,ilog2(ci->blocksizes[0]),4); - oggpack_write(opb,ilog2(ci->blocksizes[1]),4); + oggpack_write(opb,ov_ilog(ci->blocksizes[0]-1),4); + oggpack_write(opb,ov_ilog(ci->blocksizes[1]-1),4); oggpack_write(opb,1,1); return(0); @@ -550,7 +555,10 @@ int vorbis_commentheader_out(vorbis_comment *vc, oggpack_buffer opb; oggpack_writeinit(&opb); - if(_vorbis_pack_comment(&opb,vc)) return OV_EIMPL; + if(_vorbis_pack_comment(&opb,vc)){ + oggpack_writeclear(&opb); + return OV_EIMPL; + } op->packet = _ogg_malloc(oggpack_bytes(&opb)); memcpy(op->packet, opb.buffer, oggpack_bytes(&opb)); @@ -561,6 +569,7 @@ int vorbis_commentheader_out(vorbis_comment *vc, op->granulepos=0; op->packetno=1; + oggpack_writeclear(&opb); return 0; } @@ -574,7 +583,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, oggpack_buffer opb; private_state *b=v->backend_state; - if(!b){ + if(!b||vi->channels<=0){ ret=OV_EFAULT; goto err_out; } diff --git a/drivers/vorbis/lsp.c b/drivers/vorbis/lsp.c index 50031a7a1c..6a619f7b0c 100644 --- a/drivers/vorbis/lsp.c +++ b/drivers/vorbis/lsp.c @@ -11,7 +11,7 @@ ******************************************************************** function: LSP (also called LSF) conversion routines - last mod: $Id: lsp.c 17538 2010-10-15 02:52:29Z tterribe $ + last mod: $Id: lsp.c 19453 2015-03-02 22:35:34Z xiphmont $ The LSP generation code is taken (with minimal modification and a few bugfixes) from "On the Computation of the LSP Frequencies" by @@ -309,7 +309,6 @@ static int comp(const void *a,const void *b){ #define EPSILON 10e-7 static int Laguerre_With_Deflation(float *a,int ord,float *r){ int i,m; - double lastdelta=0.f; double *defl=alloca(sizeof(*defl)*(ord+1)); for(i=0;i<=ord;i++)defl[i]=a[i]; @@ -346,7 +345,6 @@ static int Laguerre_With_Deflation(float *a,int ord,float *r){ if(delta<0.f)delta*=-1; if(fabs(delta/new)<10e-12)break; - lastdelta=delta; } r[m-1]=new; diff --git a/drivers/vorbis/mapping0.c b/drivers/vorbis/mapping0.c index 7d279a8575..85c7d22d83 100644 --- a/drivers/vorbis/mapping0.c +++ b/drivers/vorbis/mapping0.c @@ -11,7 +11,7 @@ ******************************************************************** function: channel mapping 0 implementation - last mod: $Id: mapping0.c 17022 2010-03-25 03:45:42Z xiphmont $ + last mod: $Id: mapping0.c 19441 2015-01-21 01:17:41Z xiphmont $ ********************************************************************/ @@ -45,16 +45,6 @@ static void mapping0_free_info(vorbis_info_mapping *i){ } } -static int ilog(unsigned int v){ - int ret=0; - if(v)--v; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm, oggpack_buffer *opb){ int i; @@ -78,8 +68,8 @@ static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm, oggpack_write(opb,info->coupling_steps-1,8); for(i=0;i<info->coupling_steps;i++){ - oggpack_write(opb,info->coupling_mag[i],ilog(vi->channels)); - oggpack_write(opb,info->coupling_ang[i],ilog(vi->channels)); + oggpack_write(opb,info->coupling_mag[i],ov_ilog(vi->channels-1)); + oggpack_write(opb,info->coupling_ang[i],ov_ilog(vi->channels-1)); } }else oggpack_write(opb,0,1); @@ -104,6 +94,7 @@ static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb) vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info)); codec_setup_info *ci=vi->codec_setup; memset(info,0,sizeof(*info)); + if(vi->channels<=0)goto err_out; b=oggpack_read(opb,1); if(b<0)goto err_out; @@ -119,8 +110,11 @@ static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb) info->coupling_steps=oggpack_read(opb,8)+1; if(info->coupling_steps<=0)goto err_out; for(i=0;i<info->coupling_steps;i++){ - int testM=info->coupling_mag[i]=oggpack_read(opb,ilog(vi->channels)); - int testA=info->coupling_ang[i]=oggpack_read(opb,ilog(vi->channels)); + /* vi->channels > 0 is enforced in the caller */ + int testM=info->coupling_mag[i]= + oggpack_read(opb,ov_ilog(vi->channels-1)); + int testA=info->coupling_ang[i]= + oggpack_read(opb,ov_ilog(vi->channels-1)); if(testM<0 || testA<0 || diff --git a/drivers/vorbis/misc.h b/drivers/vorbis/misc.h index 85fe3074ac..73b4519898 100644 --- a/drivers/vorbis/misc.h +++ b/drivers/vorbis/misc.h @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: miscellaneous prototypes - last mod: $Id: misc.h 16227 2009-07-08 06:58:46Z xiphmont $ + last mod: $Id: misc.h 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -21,6 +21,7 @@ extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes); extern void _vorbis_block_ripcord(vorbis_block *vb); +extern int ov_ilog(ogg_uint32_t v); #ifdef ANALYSIS extern int analysis_noisy; diff --git a/drivers/vorbis/modes/residue_44p51.h b/drivers/vorbis/modes/residue_44p51.h index 103e960d72..a52cc5245e 100644 --- a/drivers/vorbis/modes/residue_44p51.h +++ b/drivers/vorbis/modes/residue_44p51.h @@ -11,7 +11,7 @@ ******************************************************************** function: toplevel residue templates for 32/44.1/48kHz uncoupled - last mod: $Id$ + last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $ ********************************************************************/ diff --git a/drivers/vorbis/modes/setup_44p51.h b/drivers/vorbis/modes/setup_44p51.h index e46468a15b..67d9979608 100644 --- a/drivers/vorbis/modes/setup_44p51.h +++ b/drivers/vorbis/modes/setup_44p51.h @@ -11,7 +11,7 @@ ******************************************************************** function: toplevel settings for 44.1/48kHz 5.1 surround modes - last mod: $Id$ + last mod: $Id: setup_44p51.h 19013 2013-11-12 04:04:50Z giles $ ********************************************************************/ diff --git a/drivers/vorbis/os.h b/drivers/vorbis/os.h index 3df1d194e9..8bc3e5fe9c 100644 --- a/drivers/vorbis/os.h +++ b/drivers/vorbis/os.h @@ -7,13 +7,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: #ifdef jail to whip a few platforms into the UNIX ideal. - last mod: $Id: os.h 16227 2009-07-08 06:58:46Z xiphmont $ + last mod: $Id: os.h 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -119,8 +119,9 @@ static inline int vorbis_ftoi(double f){ /* yes, double! Otherwise, /* MSVC inline assembly. 32 bit only; inline ASM isn't implemented in the - * 64 bit compiler */ -#if defined(_MSC_VER) && !defined(_WIN64) && !defined(_WIN32_WCE) && !defined(WINDOWSPHONE_ENABLED) + * 64 bit compiler and doesn't work on arm. */ +#if defined(_MSC_VER) && !defined(_WIN64) && \ + !defined(_WIN32_WCE) && !defined(_M_ARM) # define VORBIS_FPU_CONTROL typedef ogg_int16_t vorbis_fpu_control; @@ -135,9 +136,11 @@ static __inline int vorbis_ftoi(double f){ } static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){ + (void)fpu; } static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){ + (void)fpu; } #endif /* Special MSVC 32 bit implementation */ @@ -156,9 +159,11 @@ static __inline int vorbis_ftoi(double f){ } static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){ + (void)fpu; } static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){ + (void)fpu; } #endif /* Special MSVC x64 implementation */ diff --git a/drivers/vorbis/psy.c b/drivers/vorbis/psy.c index 29d2824372..f7a44c6d00 100644 --- a/drivers/vorbis/psy.c +++ b/drivers/vorbis/psy.c @@ -11,7 +11,7 @@ ******************************************************************** function: psychoacoustics not including preecho - last mod: $Id: psy.c 17569 2010-10-26 17:09:47Z xiphmont $ + last mod: $Id: psy.c 18077 2011-09-02 02:49:00Z giles $ ********************************************************************/ @@ -1020,7 +1020,9 @@ void _vp_couple_quantize_normalize(int blobno, int limit = g->coupling_pointlimit[p->vi->blockflag][blobno]; float prepoint=stereo_threshholds[g->coupling_prepointamp[blobno]]; float postpoint=stereo_threshholds[g->coupling_postpointamp[blobno]]; +#if 0 float de=0.1*p->m_val; /* a blend of the AoTuV M2 and M3 code here and below */ +#endif /* mdct is our raw mdct output, floor not removed. */ /* inout passes in the ifloor, passes back quantized result */ @@ -1154,27 +1156,28 @@ void _vp_couple_quantize_normalize(int blobno, reM[j] += reA[j]; qeM[j] = fabs(reM[j]); }else{ +#if 0 /* AoTuV */ /** @ M2 ** The boost problem by the combination of noise normalization and point stereo is eased. However, this is a temporary patch. by Aoyumi @ 2004/04/18 */ - /*float derate = (1.0 - de*((float)(j-limit+i) / (float)(n-limit))); */ - /* elliptical + float derate = (1.0 - de*((float)(j-limit+i) / (float)(n-limit))); + /* elliptical */ if(reM[j]+reA[j]<0){ reM[j] = - (qeM[j] = (fabs(reM[j])+fabs(reA[j]))*derate*derate); }else{ reM[j] = (qeM[j] = (fabs(reM[j])+fabs(reA[j]))*derate*derate); - }*/ - + } +#else /* elliptical */ if(reM[j]+reA[j]<0){ reM[j] = - (qeM[j] = fabs(reM[j])+fabs(reA[j])); }else{ reM[j] = (qeM[j] = fabs(reM[j])+fabs(reA[j])); } - +#endif } reA[j]=qeA[j]=0.f; diff --git a/drivers/vorbis/res0.c b/drivers/vorbis/res0.c index fa0ad97561..ec11488c2f 100644 --- a/drivers/vorbis/res0.c +++ b/drivers/vorbis/res0.c @@ -11,7 +11,7 @@ ******************************************************************** function: residue backend 0, 1 and 2 implementation - last mod: $Id: res0.c 17556 2010-10-21 18:25:19Z tterribe $ + last mod: $Id: res0.c 19441 2015-01-21 01:17:41Z xiphmont $ ********************************************************************/ @@ -152,15 +152,6 @@ void res0_free_look(vorbis_look_residue *i){ } } -static int ilog(unsigned int v){ - int ret=0; - while(v){ - ret++; - v>>=1; - } - return(ret); -} - static int icount(unsigned int v){ int ret=0; while(v){ @@ -186,7 +177,7 @@ void res0_pack(vorbis_info_residue *vr,oggpack_buffer *opb){ bitmask of one indicates this partition class has bits to write this pass */ for(j=0;j<info->partitions;j++){ - if(ilog(info->secondstages[j])>3){ + if(ov_ilog(info->secondstages[j])>3){ /* yes, this is a minor hack due to not thinking ahead */ oggpack_write(opb,info->secondstages[j],3); oggpack_write(opb,1,1); @@ -284,7 +275,7 @@ vorbis_look_residue *res0_look(vorbis_dsp_state *vd, look->partbooks=_ogg_calloc(look->parts,sizeof(*look->partbooks)); for(j=0;j<look->parts;j++){ - int stages=ilog(info->secondstages[j]); + int stages=ov_ilog(info->secondstages[j]); if(stages){ if(stages>maxstage)maxstage=stages; look->partbooks[j]=_ogg_calloc(stages,sizeof(*look->partbooks[j])); @@ -390,8 +381,13 @@ static int local_book_besterror(codebook *book,int *a){ return(index); } +#ifdef TRAIN_RES static int _encodepart(oggpack_buffer *opb,int *vec, int n, codebook *book,long *acc){ +#else +static int _encodepart(oggpack_buffer *opb,int *vec, int n, + codebook *book){ +#endif int i,bits=0; int dim=book->dim; int step=n/dim; @@ -534,12 +530,18 @@ static long **_2class(vorbis_block *vb,vorbis_look_residue *vl,int **in, } static int _01forward(oggpack_buffer *opb, - vorbis_block *vb,vorbis_look_residue *vl, + vorbis_look_residue *vl, int **in,int ch, long **partword, +#ifdef TRAIN_RES int (*encode)(oggpack_buffer *,int *,int, codebook *,long *), - int submap){ + int submap +#else + int (*encode)(oggpack_buffer *,int *,int, + codebook *) +#endif +){ long i,j,k,s; vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl; vorbis_info_residue0 *info=look->info; @@ -609,9 +611,8 @@ static int _01forward(oggpack_buffer *opb, codebook *statebook=look->partbooks[partword[j][i]][s]; if(statebook){ int ret; - long *accumulator=NULL; - #ifdef TRAIN_RES + long *accumulator=NULL; accumulator=look->training_data[s][partword[j][i]]; { int l; @@ -623,10 +624,12 @@ static int _01forward(oggpack_buffer *opb, look->training_max[s][partword[j][i]]=samples[l]; } } -#endif - ret=encode(opb,in[j]+offset,samples_per_partition, statebook,accumulator); +#else + ret=encode(opb,in[j]+offset,samples_per_partition, + statebook); +#endif look->postbits+=ret; resbits[partword[j][i]]+=ret; @@ -637,19 +640,6 @@ static int _01forward(oggpack_buffer *opb, } } - /*{ - long total=0; - long totalbits=0; - fprintf(stderr,"%d :: ",vb->mode); - for(k=0;k<possible_partitions;k++){ - fprintf(stderr,"%ld/%1.2g, ",resvals[k],(float)resbits[k]/resvals[k]); - total+=resvals[k]; - totalbits+=resbits[k]; - } - - fprintf(stderr,":: %ld:%1.2g\n",total,(double)totalbits/total); - }*/ - return(0); } @@ -729,12 +719,18 @@ int res0_inverse(vorbis_block *vb,vorbis_look_residue *vl, int res1_forward(oggpack_buffer *opb,vorbis_block *vb,vorbis_look_residue *vl, int **in,int *nonzero,int ch, long **partword, int submap){ int i,used=0; + (void)vb; for(i=0;i<ch;i++) if(nonzero[i]) in[used++]=in[i]; if(used){ - return _01forward(opb,vb,vl,in,used,partword,_encodepart,submap); +#ifdef TRAIN_RES + return _01forward(opb,vl,in,used,partword,_encodepart,submap); +#else + (void)submap; + return _01forward(opb,vl,in,used,partword,_encodepart); +#endif }else{ return(0); } @@ -795,7 +791,12 @@ int res2_forward(oggpack_buffer *opb, } if(used){ - return _01forward(opb,vb,vl,&work,1,partword,_encodepart,submap); +#ifdef TRAIN_RES + return _01forward(opb,vl,&work,1,partword,_encodepart,submap); +#else + (void)submap; + return _01forward(opb,vl,&work,1,partword,_encodepart); +#endif }else{ return(0); } diff --git a/drivers/vorbis/sharedbook.c b/drivers/vorbis/sharedbook.c index 545e302f82..6bfdf7311e 100644 --- a/drivers/vorbis/sharedbook.c +++ b/drivers/vorbis/sharedbook.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: basic shared codebook operations - last mod: $Id: sharedbook.c 17030 2010-03-25 06:52:55Z xiphmont $ + last mod: $Id: sharedbook.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -26,13 +26,11 @@ #include "scales.h" /**** pack/unpack helpers ******************************************/ -int _ilog(unsigned int v){ - int ret=0; - while(v){ - ret++; - v>>=1; - } - return(ret); + +int ov_ilog(ogg_uint32_t v){ + int ret; + for(ret=0;v;ret++)v>>=1; + return ret; } /* 32 bit float (not IEEE; nonnormalized mantissa + @@ -70,7 +68,7 @@ float _float32_unpack(long val){ /* given a list of word lengths, generate a list of codewords. Works for length ordered or unordered, always assigns the lowest valued codewords first. Extended to handle unused entries (length 0) */ -ogg_uint32_t *_make_words(long *l,long n,long sparsecount){ +ogg_uint32_t *_make_words(char *l,long n,long sparsecount){ long i,j,count=0; ogg_uint32_t marker[33]; ogg_uint32_t *r=_ogg_malloc((sparsecount?sparsecount:n)*sizeof(*r)); @@ -125,16 +123,15 @@ ogg_uint32_t *_make_words(long *l,long n,long sparsecount){ if(sparsecount==0)count++; } - /* sanity check the huffman tree; an underpopulated tree must be - rejected. The only exception is the one-node pseudo-nil tree, - which appears to be underpopulated because the tree doesn't - really exist; there's only one possible 'codeword' or zero bits, - but the above tree-gen code doesn't mark that. */ - if(sparsecount != 1){ + /* any underpopulated tree must be rejected. */ + /* Single-entry codebooks are a retconned extension to the spec. + They have a single codeword '0' of length 1 that results in an + underpopulated tree. Shield that case from the underformed tree check. */ + if(!(count==1 && marker[2]==2)){ for(i=1;i<33;i++) if(marker[i] & (0xffffffffUL>>(32-i))){ - _ogg_free(r); - return(NULL); + _ogg_free(r); + return(NULL); } } @@ -313,9 +310,10 @@ static int sort32a(const void *a,const void *b){ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ int i,j,n=0,tabn; int *sortindex; + memset(c,0,sizeof(*c)); - /* count actually used entries */ + /* count actually used entries and find max length */ for(i=0;i<s->entries;i++) if(s->lengthlist[i]>0) n++; @@ -325,7 +323,6 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ c->dim=s->dim; if(n>0){ - /* two different remappings go on here. First, we collapse the likely sparse codebook down only to @@ -361,7 +358,6 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ c->codelist[sortindex[i]]=codes[i]; _ogg_free(codes); - c->valuelist=_book_unquantize(s,n,sortindex); c->dec_index=_ogg_malloc(n*sizeof(*c->dec_index)); @@ -370,51 +366,62 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){ c->dec_index[sortindex[n++]]=i; c->dec_codelengths=_ogg_malloc(n*sizeof(*c->dec_codelengths)); + c->dec_maxlength=0; for(n=0,i=0;i<s->entries;i++) - if(s->lengthlist[i]>0) + if(s->lengthlist[i]>0){ c->dec_codelengths[sortindex[n++]]=s->lengthlist[i]; + if(s->lengthlist[i]>c->dec_maxlength) + c->dec_maxlength=s->lengthlist[i]; + } - c->dec_firsttablen=_ilog(c->used_entries)-4; /* this is magic */ - if(c->dec_firsttablen<5)c->dec_firsttablen=5; - if(c->dec_firsttablen>8)c->dec_firsttablen=8; - - tabn=1<<c->dec_firsttablen; - c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable)); - c->dec_maxlength=0; + if(n==1 && c->dec_maxlength==1){ + /* special case the 'single entry codebook' with a single bit + fastpath table (that always returns entry 0 )in order to use + unmodified decode paths. */ + c->dec_firsttablen=1; + c->dec_firsttable=_ogg_calloc(2,sizeof(*c->dec_firsttable)); + c->dec_firsttable[0]=c->dec_firsttable[1]=1; - for(i=0;i<n;i++){ - if(c->dec_maxlength<c->dec_codelengths[i]) - c->dec_maxlength=c->dec_codelengths[i]; - if(c->dec_codelengths[i]<=c->dec_firsttablen){ - ogg_uint32_t orig=bitreverse(c->codelist[i]); - for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++) - c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1; + }else{ + c->dec_firsttablen=ov_ilog(c->used_entries)-4; /* this is magic */ + if(c->dec_firsttablen<5)c->dec_firsttablen=5; + if(c->dec_firsttablen>8)c->dec_firsttablen=8; + + tabn=1<<c->dec_firsttablen; + c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable)); + + for(i=0;i<n;i++){ + if(c->dec_codelengths[i]<=c->dec_firsttablen){ + ogg_uint32_t orig=bitreverse(c->codelist[i]); + for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++) + c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1; + } } - } - /* now fill in 'unused' entries in the firsttable with hi/lo search - hints for the non-direct-hits */ - { - ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen); - long lo=0,hi=0; - - for(i=0;i<tabn;i++){ - ogg_uint32_t word=i<<(32-c->dec_firsttablen); - if(c->dec_firsttable[bitreverse(word)]==0){ - while((lo+1)<n && c->codelist[lo+1]<=word)lo++; - while( hi<n && word>=(c->codelist[hi]&mask))hi++; - - /* we only actually have 15 bits per hint to play with here. - In order to overflow gracefully (nothing breaks, efficiency - just drops), encode as the difference from the extremes. */ - { - unsigned long loval=lo; - unsigned long hival=n-hi; - - if(loval>0x7fff)loval=0x7fff; - if(hival>0x7fff)hival=0x7fff; - c->dec_firsttable[bitreverse(word)]= - 0x80000000UL | (loval<<15) | hival; + /* now fill in 'unused' entries in the firsttable with hi/lo search + hints for the non-direct-hits */ + { + ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen); + long lo=0,hi=0; + + for(i=0;i<tabn;i++){ + ogg_uint32_t word=i<<(32-c->dec_firsttablen); + if(c->dec_firsttable[bitreverse(word)]==0){ + while((lo+1)<n && c->codelist[lo+1]<=word)lo++; + while( hi<n && word>=(c->codelist[hi]&mask))hi++; + + /* we only actually have 15 bits per hint to play with here. + In order to overflow gracefully (nothing breaks, efficiency + just drops), encode as the difference from the extremes. */ + { + unsigned long loval=lo; + unsigned long hival=n-hi; + + if(loval>0x7fff)loval=0x7fff; + if(hival>0x7fff)hival=0x7fff; + c->dec_firsttable[bitreverse(word)]= + 0x80000000UL | (loval<<15) | hival; + } } } } diff --git a/drivers/vorbis/synthesis.c b/drivers/vorbis/synthesis.c index 1af211d001..932d271a63 100644 --- a/drivers/vorbis/synthesis.c +++ b/drivers/vorbis/synthesis.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: single-block PCM synthesis - last mod: $Id: synthesis.c 17474 2010-09-30 03:41:41Z gmaxwell $ + last mod: $Id: synthesis.c 19441 2015-01-21 01:17:41Z xiphmont $ ********************************************************************/ @@ -145,6 +145,11 @@ long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){ oggpack_buffer opb; int mode; + if(ci==NULL || ci->modes<=0){ + /* codec setup not properly intialized */ + return(OV_EFAULT); + } + oggpack_readinit(&opb,op->packet,op->bytes); /* Check the packet type */ @@ -153,18 +158,9 @@ long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){ return(OV_ENOTAUDIO); } - { - int modebits=0; - int v=ci->modes; - while(v>1){ - modebits++; - v>>=1; - } - - /* read our mode and pre/post windowsize */ - mode=oggpack_read(&opb,modebits); - } - if(mode==-1)return(OV_EBADPACKET); + /* read our mode and pre/post windowsize */ + mode=oggpack_read(&opb,ov_ilog(ci->modes-1)); + if(mode==-1 || !ci->mode_param[mode])return(OV_EBADPACKET); return(ci->blocksizes[ci->mode_param[mode]->blockflag]); } diff --git a/drivers/vorbis/tone.c b/drivers/vorbis/tone.c index 5f1f43cf7b..73afc67d4c 100644 --- a/drivers/vorbis/tone.c +++ b/drivers/vorbis/tone.c @@ -3,10 +3,6 @@ #include <math.h> #include <string.h> -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - void usage(){ fprintf(stderr,"tone <frequency_Hz>,[<amplitude>] [<frequency_Hz>,[<amplitude>]...]\n"); exit(1); diff --git a/drivers/vorbis/vorbisenc.c b/drivers/vorbis/vorbisenc.c index f0f7c08558..b5d621e900 100644 --- a/drivers/vorbis/vorbisenc.c +++ b/drivers/vorbis/vorbisenc.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: simple programmatic interface for encoder mode setup - last mod: $Id: vorbisenc.c 17028 2010-03-25 05:22:15Z xiphmont $ + last mod: $Id: vorbisenc.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -903,8 +903,12 @@ int vorbis_encode_setup_vbr(vorbis_info *vi, long channels, long rate, float quality){ - codec_setup_info *ci=vi->codec_setup; - highlevel_encode_setup *hi=&ci->hi; + codec_setup_info *ci; + highlevel_encode_setup *hi; + if(rate<=0) return OV_EINVAL; + + ci=vi->codec_setup; + hi=&ci->hi; quality+=.0000001; if(quality>=1.)quality=.9999; @@ -948,9 +952,14 @@ int vorbis_encode_setup_managed(vorbis_info *vi, long nominal_bitrate, long min_bitrate){ - codec_setup_info *ci=vi->codec_setup; - highlevel_encode_setup *hi=&ci->hi; - double tnominal=nominal_bitrate; + codec_setup_info *ci; + highlevel_encode_setup *hi; + double tnominal; + if(rate<=0) return OV_EINVAL; + + ci=vi->codec_setup; + hi=&ci->hi; + tnominal=nominal_bitrate; if(nominal_bitrate<=0.){ if(max_bitrate>0.){ diff --git a/drivers/vorbis/vorbisfile.c b/drivers/vorbis/vorbisfile.c index 3afbd9d002..fc0c86ff11 100644 --- a/drivers/vorbis/vorbisfile.c +++ b/drivers/vorbis/vorbisfile.c @@ -5,13 +5,13 @@ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * * * - * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 * + * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 * * by the Xiph.Org Foundation http://www.xiph.org/ * * * ******************************************************************** function: stdio-based convenience library for opening/seeking/decoding - last mod: $Id: vorbisfile.c 17573 2010-10-27 14:53:59Z xiphmont $ + last mod: $Id: vorbisfile.c 19457 2015-03-03 00:15:29Z giles $ ********************************************************************/ @@ -80,11 +80,14 @@ static long _get_data(OggVorbis_File *vf){ /* save a tiny smidge of verbosity to make the code more readable */ static int _seek_helper(OggVorbis_File *vf,ogg_int64_t offset){ if(vf->datasource){ - if(!(vf->callbacks.seek_func)|| - (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1) - return OV_EREAD; - vf->offset=offset; - ogg_sync_reset(&vf->oy); + /* only seek if the file position isn't already there */ + if(vf->offset != offset){ + if(!(vf->callbacks.seek_func)|| + (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1) + return OV_EREAD; + vf->offset=offset; + ogg_sync_reset(&vf->oy); + } }else{ /* shouldn't happen unless someone writes a broken callback */ return OV_EFAULT; @@ -138,14 +141,12 @@ static ogg_int64_t _get_next_page(OggVorbis_File *vf,ogg_page *og, } } -/* find the latest page beginning before the current stream cursor - position. Much dirtier than the above as Ogg doesn't have any - backward search linkage. no 'readp' as it will certainly have to - read. */ +/* find the latest page beginning before the passed in position. Much + dirtier than the above as Ogg doesn't have any backward search + linkage. no 'readp' as it will certainly have to read. */ /* returns offset or OV_EREAD, OV_FAULT */ -static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_page *og){ - ogg_int64_t begin=vf->offset; - ogg_int64_t end=begin; +static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_int64_t begin,ogg_page *og){ + ogg_int64_t end = begin; ogg_int64_t ret; ogg_int64_t offset=-1; @@ -220,11 +221,10 @@ static int _lookup_page_serialno(ogg_page *og, long *serialno_list, int n){ info of last page of the matching serial number instead of the very last page. If no page of the specified serialno is seen, it will return the info of last page and alter *serialno. */ -static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf, +static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf, ogg_int64_t begin, long *serial_list, int serial_n, int *serialno, ogg_int64_t *granpos){ ogg_page og; - ogg_int64_t begin=vf->offset; ogg_int64_t end=begin; ogg_int64_t ret; @@ -438,9 +438,11 @@ static ogg_int64_t _initial_pcmoffset(OggVorbis_File *vf, vorbis_info *vi){ while((result=ogg_stream_packetout(&vf->os,&op))){ if(result>0){ /* ignore holes */ long thisblock=vorbis_packet_blocksize(vi,&op); - if(lastblock!=-1) - accumulated+=(lastblock+thisblock)>>2; - lastblock=thisblock; + if(thisblock>=0){ + if(lastblock!=-1) + accumulated+=(lastblock+thisblock)>>2; + lastblock=thisblock; + } } } @@ -494,10 +496,10 @@ static int _bisect_forward_serialno(OggVorbis_File *vf, down to (or just started with) a single link. Now we need to find the last vorbis page belonging to the first vorbis stream for this link. */ - + searched = end; while(endserial != serialno){ endserial = serialno; - vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&endserial,&endgran); + searched=_get_prev_page_serial(vf,searched,currentno_list,currentnos,&endserial,&endgran); } vf->links=m+1; @@ -518,10 +520,15 @@ static int _bisect_forward_serialno(OggVorbis_File *vf, }else{ + /* last page is not in the starting stream's serial number list, + so we have multiple links. Find where the stream that begins + our bisection ends. */ + long *next_serialno_list=NULL; int next_serialnos=0; vorbis_info vi; vorbis_comment vc; + int testserial = serialno+1; /* the below guards against garbage seperating the last and first pages of two links. */ @@ -534,10 +541,8 @@ static int _bisect_forward_serialno(OggVorbis_File *vf, bisect=(searched+endsearched)/2; } - if(bisect != vf->offset){ - ret=_seek_helper(vf,bisect); - if(ret)return(ret); - } + ret=_seek_helper(vf,bisect); + if(ret)return(ret); last=_get_next_page(vf,&og,-1); if(last==OV_EREAD)return(OV_EREAD); @@ -550,28 +555,22 @@ static int _bisect_forward_serialno(OggVorbis_File *vf, } /* Bisection point found */ - /* for the time being, fetch end PCM offset the simple way */ - { - int testserial = serialno+1; - vf->offset = next; - while(testserial != serialno){ - testserial = serialno; - vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&testserial,&searchgran); - } + searched = next; + while(testserial != serialno){ + testserial = serialno; + searched = _get_prev_page_serial(vf,searched,currentno_list,currentnos,&testserial,&searchgran); } - if(vf->offset!=next){ - ret=_seek_helper(vf,next); - if(ret)return(ret); - } + ret=_seek_helper(vf,next); + if(ret)return(ret); ret=_fetch_headers(vf,&vi,&vc,&next_serialno_list,&next_serialnos,NULL); if(ret)return(ret); serialno = vf->os.serialno; dataoffset = vf->offset; - /* this will consume a page, however the next bistection always + /* this will consume a page, however the next bisection always starts with a raw seek */ pcmoffset = _initial_pcmoffset(vf,&vi); @@ -638,11 +637,11 @@ static int _open_seekable2(OggVorbis_File *vf){ /* Get the offset of the last page of the physical bitstream, or, if we're lucky the last vorbis page of this link as most OggVorbis files will contain a single logical bitstream */ - end=_get_prev_page_serial(vf,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran); + end=_get_prev_page_serial(vf,vf->end,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran); if(end<0)return(end); /* now determine bitstream structure recursively */ - if(_bisect_forward_serialno(vf,0,dataoffset,vf->offset,endgran,endserial, + if(_bisect_forward_serialno(vf,0,dataoffset,end,endgran,endserial, vf->serialnos+2,vf->serialnos[1],0)<0)return(OV_EREAD); vf->offsets[0]=0; @@ -1055,7 +1054,11 @@ int ov_halfrate_p(OggVorbis_File *vf){ /* Only partially open the vorbis file; test for Vorbisness, and load the headers for the first chain. Do not seek (although test for seekability). Use ov_test_open to finish opening the file, else - ov_clear to close/free it. Same return codes as open. */ + ov_clear to close/free it. Same return codes as open. + + Note that vorbisfile does _not_ take ownership of the file if the + call fails; the calling applicaiton is responsible for closing the file + if this call returns an error. */ int ov_test_callbacks(void *f,OggVorbis_File *vf, const char *initial,long ibytes,ov_callbacks callbacks) @@ -1417,22 +1420,41 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){ if(pos>=total)break; } - /* search within the logical bitstream for the page with the highest - pcm_pos preceding (or equal to) pos. There is a danger here; - missing pages or incorrect frame number information in the - bitstream could make our task impossible. Account for that (it - would be an error condition) */ + /* Search within the logical bitstream for the page with the highest + pcm_pos preceding pos. If we're looking for a position on the + first page, bisection will halt without finding our position as + it's before the first explicit granulepos fencepost. That case is + handled separately below. + + There is a danger here; missing pages or incorrect frame number + information in the bitstream could make our task impossible. + Account for that (it would be an error condition) */ + + /* new search algorithm originally by HB (Nicholas Vinen) */ - /* new search algorithm by HB (Nicholas Vinen) */ { ogg_int64_t end=vf->offsets[link+1]; - ogg_int64_t begin=vf->offsets[link]; + ogg_int64_t begin=vf->dataoffsets[link]; ogg_int64_t begintime = vf->pcmlengths[link*2]; ogg_int64_t endtime = vf->pcmlengths[link*2+1]+begintime; ogg_int64_t target=pos-total+begintime; - ogg_int64_t best=begin; + ogg_int64_t best=-1; + int got_page=0; ogg_page og; + + /* if we have only one page, there will be no bisection. Grab the page here */ + if(begin==end){ + result=_seek_helper(vf,begin); + if(result) goto seek_error; + + result=_get_next_page(vf,&og,1); + if(result<0) goto seek_error; + + got_page=1; + } + + /* bisection loop */ while(begin<end){ ogg_int64_t bisect; @@ -1447,51 +1469,80 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){ bisect=begin; } - if(bisect!=vf->offset){ - result=_seek_helper(vf,bisect); - if(result) goto seek_error; - } + result=_seek_helper(vf,bisect); + if(result) goto seek_error; + /* read loop within the bisection loop */ while(begin<end){ result=_get_next_page(vf,&og,end-vf->offset); if(result==OV_EREAD) goto seek_error; if(result<0){ + /* there is no next page! */ if(bisect<=begin+1) - end=begin; /* found it */ + /* No bisection left to perform. We've either found the + best candidate already or failed. Exit loop. */ + end=begin; else{ + /* We tried to load a fraction of the last page; back up a + bit and try to get the whole last page */ if(bisect==0) goto seek_error; bisect-=CHUNKSIZE; + + /* don't repeat/loop on a read we've already performed */ if(bisect<=begin)bisect=begin+1; + + /* seek and cntinue bisection */ result=_seek_helper(vf,bisect); if(result) goto seek_error; } }else{ ogg_int64_t granulepos; + got_page=1; + /* got a page. analyze it */ + /* only consider pages from primary vorbis stream */ if(ogg_page_serialno(&og)!=vf->serialnos[link]) continue; + /* only consider pages with the granulepos set */ granulepos=ogg_page_granulepos(&og); if(granulepos==-1)continue; if(granulepos<target){ + /* this page is a successful candidate! Set state */ + best=result; /* raw offset of packet with granulepos */ begin=vf->offset; /* raw offset of next page */ begintime=granulepos; + /* if we're before our target but within a short distance, + don't bisect; read forward */ if(target-begintime>44100)break; - bisect=begin; /* *not* begin + 1 */ + + bisect=begin; /* *not* begin + 1 as above */ }else{ - if(bisect<=begin+1) - end=begin; /* found it */ - else{ - if(end==vf->offset){ /* we're pretty close - we'd be stuck in */ + + /* This is one of our pages, but the granpos is + post-target; it is not a bisection return + candidate. (The only way we'd use it is if it's the + first page in the stream; we handle that case later + outside the bisection) */ + if(bisect<=begin+1){ + /* No bisection left to perform. We've either found the + best candidate already or failed. Exit loop. */ + end=begin; + }else{ + if(end==vf->offset){ + /* bisection read to the end; use the known page + boundary (result) to update bisection, back up a + little bit, and try again */ end=result; - bisect-=CHUNKSIZE; /* an endless loop otherwise. */ + bisect-=CHUNKSIZE; if(bisect<=begin)bisect=begin+1; result=_seek_helper(vf,bisect); if(result) goto seek_error; }else{ + /* Normal bisection */ end=bisect; endtime=granulepos; break; @@ -1502,9 +1553,46 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){ } } - /* found our page. seek to it, update pcm offset. Easier case than - raw_seek, don't keep packets preceding granulepos. */ - { + /* Out of bisection: did it 'fail?' */ + if(best == -1){ + + /* Check the 'looking for data in first page' special case; + bisection would 'fail' because our search target was before the + first PCM granule position fencepost. */ + + if(got_page && + begin == vf->dataoffsets[link] && + ogg_page_serialno(&og)==vf->serialnos[link]){ + + /* Yes, this is the beginning-of-stream case. We already have + our page, right at the beginning of PCM data. Set state + and return. */ + + vf->pcm_offset=total; + + if(link!=vf->current_link){ + /* Different link; dump entire decode machine */ + _decode_clear(vf); + + vf->current_link=link; + vf->current_serialno=vf->serialnos[link]; + vf->ready_state=STREAMSET; + + }else{ + vorbis_synthesis_restart(&vf->vd); + } + + ogg_stream_reset_serialno(&vf->os,vf->current_serialno); + ogg_stream_pagein(&vf->os,&og); + + }else + goto seek_error; + + }else{ + + /* Bisection found our page. seek to it, update pcm offset. Easier case than + raw_seek, don't keep packets preceding granulepos. */ + ogg_page og; ogg_packet op; @@ -1534,23 +1622,23 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){ while(1){ result=ogg_stream_packetpeek(&vf->os,&op); if(result==0){ - /* !!! the packet finishing this page originated on a - preceding page. Keep fetching previous pages until we - get one with a granulepos or without the 'continued' flag - set. Then just use raw_seek for simplicity. */ - - result=_seek_helper(vf,best); - if(result<0) goto seek_error; - - while(1){ - result=_get_prev_page(vf,&og); + /* No packet returned; we exited the bisection with 'best' + pointing to a page with a granule position, so the packet + finishing this page ('best') originated on a preceding + page. Keep fetching previous pages until we get one with + a granulepos or without the 'continued' flag set. Then + just use raw_seek for simplicity. */ + /* Do not rewind past the beginning of link data; if we do, + it's either a bug or a broken stream */ + result=best; + while(result>vf->dataoffsets[link]){ + result=_get_prev_page(vf,result,&og); if(result<0) goto seek_error; if(ogg_page_serialno(&og)==vf->current_serialno && (ogg_page_granulepos(&og)>-1 || !ogg_page_continued(&og))){ return ov_raw_seek(vf,result); } - vf->offset=result; } } if(result<0){ @@ -2054,14 +2142,14 @@ long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int length, } } -extern float *vorbis_window(vorbis_dsp_state *v,int W); +extern const float *vorbis_window(vorbis_dsp_state *v,int W); static void _ov_splice(float **pcm,float **lappcm, int n1, int n2, int ch1, int ch2, - float *w1, float *w2){ + const float *w1, const float *w2){ int i,j; - float *w=w1; + const float *w=w1; int n=n1; if(n1>n2){ @@ -2169,7 +2257,7 @@ int ov_crosslap(OggVorbis_File *vf1, OggVorbis_File *vf2){ vorbis_info *vi1,*vi2; float **lappcm; float **pcm; - float *w1,*w2; + const float *w1,*w2; int n1,n2,i,ret,hs1,hs2; if(vf1==vf2)return(0); /* degenerate case */ @@ -2223,7 +2311,7 @@ static int _ov_64_seek_lap(OggVorbis_File *vf,ogg_int64_t pos, vorbis_info *vi; float **lappcm; float **pcm; - float *w1,*w2; + const float *w1,*w2; int n1,n2,ch1,ch2,hs; int i,ret; @@ -2284,7 +2372,7 @@ static int _ov_d_seek_lap(OggVorbis_File *vf,double pos, vorbis_info *vi; float **lappcm; float **pcm; - float *w1,*w2; + const float *w1,*w2; int n1,n2,ch1,ch2,hs; int i,ret; diff --git a/drivers/vorbis/window.c b/drivers/vorbis/window.c index efebbfa8a0..0305b79297 100644 --- a/drivers/vorbis/window.c +++ b/drivers/vorbis/window.c @@ -11,7 +11,7 @@ ******************************************************************** function: window functions - last mod: $Id: window.c 16227 2009-07-08 06:58:46Z xiphmont $ + last mod: $Id: window.c 19028 2013-12-02 23:23:39Z tterribe $ ********************************************************************/ @@ -19,6 +19,7 @@ #include <math.h> #include "os.h" #include "misc.h" +#include "window.h" static const float vwin64[32] = { 0.0009460463F, 0.0085006468F, 0.0235352254F, 0.0458950567F, diff --git a/drivers/vorbis/window.h b/drivers/vorbis/window.h index 192bd9cfe7..51f97599f5 100644 --- a/drivers/vorbis/window.h +++ b/drivers/vorbis/window.h @@ -11,14 +11,14 @@ ******************************************************************** function: window functions - last mod: $Id: window.h 13293 2007-07-24 00:09:47Z xiphmont $ + last mod: $Id: window.h 19028 2013-12-02 23:23:39Z tterribe $ ********************************************************************/ #ifndef _V_WINDOW_ #define _V_WINDOW_ -extern float *_vorbis_window_get(int n); +extern const float *_vorbis_window_get(int n); extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes, int lW,int W,int nW); diff --git a/drivers/webp/image_loader_webp.cpp b/drivers/webp/image_loader_webp.cpp index 5fb14eaf7a..68bb857293 100644 --- a/drivers/webp/image_loader_webp.cpp +++ b/drivers/webp/image_loader_webp.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_webp.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_webp.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "image_loader_webp.h" #include "print_string.h" diff --git a/drivers/webp/image_loader_webp.h b/drivers/webp/image_loader_webp.h index ea99a60676..24f79708db 100644 --- a/drivers/webp/image_loader_webp.h +++ b/drivers/webp/image_loader_webp.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_webp.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_webp.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMAGE_LOADER_WEBP_H #define IMAGE_LOADER_WEBP_H diff --git a/drivers/webpold/image_loader_webp.cpp b/drivers/webpold/image_loader_webp.cpp index 5fb14eaf7a..68bb857293 100644 --- a/drivers/webpold/image_loader_webp.cpp +++ b/drivers/webpold/image_loader_webp.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_webp.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_webp.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "image_loader_webp.h" #include "print_string.h" diff --git a/drivers/webpold/image_loader_webp.h b/drivers/webpold/image_loader_webp.h index ea99a60676..24f79708db 100644 --- a/drivers/webpold/image_loader_webp.h +++ b/drivers/webpold/image_loader_webp.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* image_loader_webp.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* image_loader_webp.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMAGE_LOADER_WEBP_H #define IMAGE_LOADER_WEBP_H diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp index 913ba1eb2b..fa18f7c1f5 100644 --- a/drivers/windows/dir_access_windows.cpp +++ b/drivers/windows/dir_access_windows.cpp @@ -191,23 +191,21 @@ Error DirAccessWindows::make_dir(String p_dir) { #else - p_dir=fix_path(p_dir); - - //p_dir.replace("/","\\"); + if (p_dir.is_rel_path()) + p_dir=get_current_dir().plus_file(p_dir); + else + p_dir=fix_path(p_dir); + p_dir = p_dir.replace("/","\\"); bool success; int err; - wchar_t real_current_dir_name[2048]; - GetCurrentDirectoryW(2048,real_current_dir_name); - - SetCurrentDirectoryW(current_dir.c_str()); + p_dir="\\\\?\\"+p_dir; //done according to +// https://msdn.microsoft.com/en-us/library/windows/desktop/aa363855(v=vs.85).aspx success=CreateDirectoryW(p_dir.c_str(), NULL); err = GetLastError(); - SetCurrentDirectoryW(real_current_dir_name); - if (success) { return OK; }; @@ -315,6 +313,7 @@ Error DirAccessWindows::remove(String p_path) { else p_path=fix_path(p_path); + printf("erasing %s\n",p_path.utf8().get_data()); //WIN32_FILE_ATTRIBUTE_DATA fileInfo; //DWORD fileAttr = GetFileAttributesExW(p_path.c_str(), GetFileExInfoStandard, &fileInfo); @@ -360,7 +359,8 @@ FileType DirAccessWindows::get_file_type(const String& p_file) const { size_t DirAccessWindows::get_space_left() { uint64_t bytes = 0; - GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL); + if (!GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL)) + return 0; //this is either 0 or a value in bytes. return (size_t)bytes; diff --git a/main/input_default.cpp b/main/input_default.cpp index a6f14ae1f5..4fcb450bce 100644 --- a/main/input_default.cpp +++ b/main/input_default.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* input_default.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "input_default.h" #include "servers/visual_server.h" #include "os/os.h" @@ -327,7 +355,7 @@ void InputDefault::start_joy_vibration(int p_device, float p_weak_magnitude, flo vibration.weak_magnitude = p_weak_magnitude; vibration.strong_magnitude = p_strong_magnitude; vibration.duration = p_duration; - vibration.timestamp = OS::get_singleton()->get_unix_time(); + vibration.timestamp = OS::get_singleton()->get_ticks_usec(); joy_vibration[p_device] = vibration; } @@ -337,7 +365,7 @@ void InputDefault::stop_joy_vibration(int p_device) { vibration.weak_magnitude = 0; vibration.strong_magnitude = 0; vibration.duration = 0; - vibration.timestamp = OS::get_singleton()->get_unix_time(); + vibration.timestamp = OS::get_singleton()->get_ticks_usec(); joy_vibration[p_device] = vibration; } diff --git a/main/input_default.h b/main/input_default.h index 01b813f3ca..c7fef8374c 100644 --- a/main/input_default.h +++ b/main/input_default.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* input_default.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef INPUT_DEFAULT_H #define INPUT_DEFAULT_H @@ -161,7 +189,7 @@ public: void set_magnetometer(const Vector3& p_magnetometer); void set_joy_axis(int p_device,int p_axis,float p_value); - virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration); + virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration=0); virtual void stop_joy_vibration(int p_device); void set_main_loop(MainLoop *main_loop); diff --git a/main/main.cpp b/main/main.cpp index 6cddea823a..de212deefd 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -110,6 +110,7 @@ static bool use_debug_profiler=false; static bool force_lowdpi=false; static int init_screen=-1; static bool use_vsync=true; +static bool editor=false; static String unescape_cmdline(const String& p_str) { @@ -281,7 +282,7 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas packed_data->add_pack_source(zip_packed_data); #endif - bool editor=false; + while(I) { @@ -953,7 +954,7 @@ Error Main::setup2() { Globals::get_singleton()->set_custom_property_info("application/icon",PropertyInfo(Variant::STRING,"application/icon",PROPERTY_HINT_FILE,"*.png,*.webp")); if (bool(GLOBAL_DEF("display/emulate_touchscreen",false))) { - if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton()) { + if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton() && !editor) { //only if no touchscreen ui hint, set emulation InputDefault *id = Input::get_singleton()->cast_to<InputDefault>(); if (id) diff --git a/modules/gdscript/gd_editor.cpp b/modules/gdscript/gd_editor.cpp index 7e5ff620c9..b1da7e782c 100644 --- a/modules/gdscript/gd_editor.cpp +++ b/modules/gdscript/gd_editor.cpp @@ -497,11 +497,6 @@ static Ref<Reference> _get_parent_class(GDCompletionContext& context) { int base_idx = GDScriptLanguage::get_singleton()->get_global_map()[base]; native = GDScriptLanguage::get_singleton()->get_global_array()[base_idx]; - if (!native.is_valid()) { - - print_line("Global not a class: '"+base+"'"); - - } return native; } @@ -1024,7 +1019,7 @@ static bool _guess_identifier_type_in_block(GDCompletionContext& context,int p_l } -static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& context,const StringName& p_identifier, const StringName& p_function,GDCompletionIdentifier &r_type) { +static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& context, int p_src_line, const StringName& p_identifier, const StringName& p_function,GDCompletionIdentifier &r_type) { const GDParser::FunctionNode* func=NULL; for(int i=0;i<context._class->functions.size();i++) { @@ -1039,7 +1034,9 @@ static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& c for(int i=0;i<func->body->statements.size();i++) { - + if (func->body->statements[i]->line == p_src_line) { + break; + } if (func->body->statements[i]->type==GDParser::BlockNode::TYPE_OPERATOR) { const GDParser::OperatorNode *op = static_cast<const GDParser::OperatorNode *>(func->body->statements[i]); @@ -1160,11 +1157,11 @@ static bool _guess_identifier_type(GDCompletionContext& context,int p_line,const } //try to guess from assignment in construtor or _ready - if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_ready",r_type)) + if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_ready",r_type)) return true; - if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_enter_tree",r_type)) + if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_enter_tree",r_type)) return true; - if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_init",r_type)) + if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_init",r_type)) return true; return false; @@ -2122,10 +2119,8 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base switch(p.get_completion_type()) { case GDParser::COMPLETION_NONE: { - print_line("No completion"); } break; case GDParser::COMPLETION_BUILT_IN_TYPE_CONSTANT: { - print_line("Built in type constant"); List<StringName> constants; Variant::get_numeric_constants_for_type(p.get_completion_built_in_constant(),&constants); for(List<StringName>::Element *E=constants.front();E;E=E->next()) { @@ -2141,7 +2136,6 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base _find_identifiers(context,p.get_completion_line(),isfunction,options); } break; case GDParser::COMPLETION_PARENT_FUNCTION: { - print_line("parent function"); } break; case GDParser::COMPLETION_METHOD: diff --git a/modules/gdscript/gd_function.cpp b/modules/gdscript/gd_function.cpp index 9d438998cb..6e52686de4 100644 --- a/modules/gdscript/gd_function.cpp +++ b/modules/gdscript/gd_function.cpp @@ -654,10 +654,10 @@ Variant GDFunction::call(GDInstance *p_instance, const Variant **p_args, int p_a if (call_ret) { GET_VARIANT_PTR(ret,argc); - *ret = base->call(*methodname,(const Variant**)argptrs,argc,err); + base->call_ptr(*methodname,(const Variant**)argptrs,argc,ret,err); } else { - base->call(*methodname,(const Variant**)argptrs,argc,err); + base->call_ptr(*methodname,(const Variant**)argptrs,argc,NULL,err); } #ifdef DEBUG_ENABLED if (GDScriptLanguage::get_singleton()->profiling) { diff --git a/modules/gdscript/gd_functions.cpp b/modules/gdscript/gd_functions.cpp index 077255064d..ec66841662 100644 --- a/modules/gdscript/gd_functions.cpp +++ b/modules/gdscript/gd_functions.cpp @@ -87,6 +87,7 @@ const char *GDFunctions::get_func_name(Function p_func) { "funcref", "convert", "typeof", + "type_exists", "str", "print", "printt", @@ -532,6 +533,12 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va r_ret = p_args[0]->get_type(); } break; + case TYPE_EXISTS: { + + VALIDATE_ARG_COUNT(1); + r_ret = ObjectTypeDB::type_exists(*p_args[0]); + + } break; case TEXT_STR: { String str; @@ -1126,6 +1133,7 @@ bool GDFunctions::is_deterministic(Function p_func) { case LOGIC_NEAREST_PO2: case TYPE_CONVERT: case TYPE_OF: + case TYPE_EXISTS: case TEXT_STR: case COLOR8: // enable for debug only, otherwise not desirable - case GEN_RANGE: @@ -1309,12 +1317,12 @@ MethodInfo GDFunctions::get_info(Function p_func) { return mi; } break; case MATH_SEED: { - MethodInfo mi("seed",PropertyInfo(Variant::REAL,"seed")); + MethodInfo mi("seed",PropertyInfo(Variant::INT,"seed")); mi.return_val.type=Variant::NIL; return mi; } break; case MATH_RANDSEED: { - MethodInfo mi("rand_seed",PropertyInfo(Variant::REAL,"seed")); + MethodInfo mi("rand_seed",PropertyInfo(Variant::INT,"seed")); mi.return_val.type=Variant::ARRAY; return mi; } break; @@ -1389,6 +1397,13 @@ MethodInfo GDFunctions::get_info(Function p_func) { return mi; } break; + case TYPE_EXISTS: { + + MethodInfo mi("type_exists",PropertyInfo(Variant::STRING,"type")); + mi.return_val.type=Variant::BOOL; + return mi; + + } break; case TEXT_STR: { MethodInfo mi("str",PropertyInfo(Variant::NIL,"what"),PropertyInfo(Variant::NIL,"...")); diff --git a/modules/gdscript/gd_functions.h b/modules/gdscript/gd_functions.h index 8c88472567..c78956fe20 100644 --- a/modules/gdscript/gd_functions.h +++ b/modules/gdscript/gd_functions.h @@ -81,6 +81,7 @@ public: FUNC_FUNCREF, TYPE_CONVERT, TYPE_OF, + TYPE_EXISTS, TEXT_STR, TEXT_PRINT, TEXT_PRINT_TABBED, diff --git a/modules/gdscript/gd_pretty_print.cpp b/modules/gdscript/gd_pretty_print.cpp deleted file mode 100644 index cca3cd3984..0000000000 --- a/modules/gdscript/gd_pretty_print.cpp +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************/ -/* gd_pretty_print.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "gd_pretty_print.h" - -GDPrettyPrint::GDPrettyPrint() { - - -} diff --git a/modules/gdscript/gd_pretty_print.h b/modules/gdscript/gd_pretty_print.h deleted file mode 100644 index 0106d873d9..0000000000 --- a/modules/gdscript/gd_pretty_print.h +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************/ -/* gd_pretty_print.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef GD_PRETTY_PRINT_H -#define GD_PRETTY_PRINT_H - - - - -class GDPrettyPrint { -public: - GDPrettyPrint(); -}; - -#endif // GD_PRETTY_PRINT_H diff --git a/modules/gdscript/gd_tokenizer.cpp b/modules/gdscript/gd_tokenizer.cpp index 8dd68cf95a..0a77b96569 100644 --- a/modules/gdscript/gd_tokenizer.cpp +++ b/modules/gdscript/gd_tokenizer.cpp @@ -725,7 +725,7 @@ void GDTokenizerText::_advance() { if (hexa_found) { int val = str.hex_to_int(); _make_constant(val); - } else if (period_found) { + } else if (period_found || exponent_found) { real_t val = str.to_double(); //print_line("*%*%*%*% to convert: "+str+" result: "+rtos(val)); _make_constant(val); diff --git a/modules/gdscript/register_types.cpp b/modules/gdscript/register_types.cpp index 2aea494f39..6aa53f03ef 100644 --- a/modules/gdscript/register_types.cpp +++ b/modules/gdscript/register_types.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* register_script_types.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* register_types.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "register_types.h" #include "gd_script.h" diff --git a/modules/ik/ik.cpp b/modules/ik/ik.cpp index 6c383fdb55..172e16459e 100644 --- a/modules/ik/ik.cpp +++ b/modules/ik/ik.cpp @@ -1,12 +1,12 @@ /*************************************************************************/ /* ik.cpp */ +/* Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ /* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* This file is Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/ik/ik.h b/modules/ik/ik.h index 9daddb229d..b57d69b026 100644 --- a/modules/ik/ik.h +++ b/modules/ik/ik.h @@ -1,12 +1,12 @@ /*************************************************************************/ -/* ik.h */ +/* ik.h */ +/* Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ /* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* This file is (c) 2016 Sergey Lapin <slapinid@gmail.com> */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/modules/register_module_types.h b/modules/register_module_types.h index 3cc0422d80..683ce7c6b8 100644 --- a/modules/register_module_types.h +++ b/modules/register_module_types.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* register_module_types.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef REGISTER_MODULE_TYPES_H #define REGISTER_MODULE_TYPES_H diff --git a/platform/android/AndroidManifest.xml.template b/platform/android/AndroidManifest.xml.template index 852a821c65..2a24c7cdc2 100644 --- a/platform/android/AndroidManifest.xml.template +++ b/platform/android/AndroidManifest.xml.template @@ -7,7 +7,7 @@ > <supports-screens android:smallScreens="true" android:normalScreens="true" - android:largeScreens="false" + android:largeScreens="true" android:xlargeScreens="true"/> <application android:label="@string/godot_project_name_string" android:icon="@drawable/icon" android:allowBackup="false" $$ADD_APPATTRIBUTE_CHUNKS$$ > diff --git a/platform/android/android_native_app_glue.h b/platform/android/android_native_app_glue.h index 3e7a4ea7a0..36278d4c66 100644 --- a/platform/android/android_native_app_glue.h +++ b/platform/android/android_native_app_glue.h @@ -1,32 +1,5 @@ -/*************************************************************************/ -/* android_native_app_glue.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -/* Copyright (C) 2010 The Android Open Source Project +/* + * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp index 863b107616..b8c44a4fc8 100644 --- a/platform/android/export/export.cpp +++ b/platform/android/export/export.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* export.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "version.h" #include "export.h" #include "tools/editor/editor_settings.h" diff --git a/platform/android/export/export.h b/platform/android/export/export.h index 88581802b8..a9421e692e 100644 --- a/platform/android/export/export.h +++ b/platform/android/export/export.h @@ -1,3 +1,29 @@ - - +/*************************************************************************/ +/* export.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_android_exporter(); diff --git a/platform/android/globals/global_defaults.cpp b/platform/android/globals/global_defaults.cpp index 824a4e3606..9a4252bde0 100644 --- a/platform/android/globals/global_defaults.cpp +++ b/platform/android/globals/global_defaults.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* global_defaults.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "global_defaults.h" #include "globals.h" diff --git a/platform/android/globals/global_defaults.h b/platform/android/globals/global_defaults.h index 11617ddfd0..6f240572d8 100644 --- a/platform/android/globals/global_defaults.h +++ b/platform/android/globals/global_defaults.h @@ -1,3 +1,29 @@ - - +/*************************************************************************/ +/* global_defaults.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_android_global_defaults(); diff --git a/platform/android/java/src/org/godotengine/godot/Dictionary.java b/platform/android/java/src/org/godotengine/godot/Dictionary.java index 34051c4bb8..e003c245bb 100644 --- a/platform/android/java/src/org/godotengine/godot/Dictionary.java +++ b/platform/android/java/src/org/godotengine/godot/Dictionary.java @@ -5,7 +5,7 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java index 73d54b6afa..cdf17e3161 100644 --- a/platform/android/java/src/org/godotengine/godot/Godot.java +++ b/platform/android/java/src/org/godotengine/godot/Godot.java @@ -115,7 +115,17 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC private int mState; private boolean keep_screen_on=true; - private void setState(int newState) { + static private Intent mCurrentIntent; + + @Override public void onNewIntent(Intent intent) { + mCurrentIntent = intent; + } + + static public Intent getCurrentIntent() { + return mCurrentIntent; + } + + private void setState(int newState) { if (mState != newState) { mState = newState; mStatusText.setText(Helpers.getDownloaderStringResourceIDFromState(newState)); @@ -545,6 +555,8 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC } } + mCurrentIntent = getIntent(); + initializeGodot(); diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java index b602f4757c..ea6c070fae 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java +++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GodotDownloaderAlarmReceiver.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot; import com.google.android.vending.expansion.downloader.DownloaderClientMarshaller; diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java index 6735d387f3..4ea3f13021 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java +++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GodotDownloaderService.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot; import android.content.Context; diff --git a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java index 6bec49410d..fde752acc9 100644 --- a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java +++ b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GodotPaymentV3.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot; import org.godotengine.godot.Dictionary; diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java index c8ffa74ecd..aa92eeae0f 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GodotEditText.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.input; import android.content.Context; import android.util.AttributeSet; diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java index 64d8826b44..13c8c8b3ec 100644 --- a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java +++ b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GodotTextInputWrapper.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.input; import android.content.Context; import android.text.Editable; diff --git a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java index 61ccb97161..16b669fbe8 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ConsumeTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import com.android.vending.billing.IInAppBillingService; diff --git a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java index 293e903284..175d401c87 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* GenericConsumeTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import com.android.vending.billing.IInAppBillingService; diff --git a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java index d120551e4a..e63230c4f8 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* HandlePurchaseTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import org.json.JSONException; diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java index 5f3d931593..0635385f53 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* PaymentsCache.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import android.content.Context; diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java index effb58aa35..eb33b37ecc 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* PaymentsManager.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import java.util.ArrayList; diff --git a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java index 8b048d8065..9e92d8b5a5 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* PurchaseTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import org.json.JSONException; diff --git a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java index 7bb5131b49..2dc7dcf6b1 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ReleaseAllConsumablesTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import java.util.ArrayList; diff --git a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java index 2fcf7483b4..f3532f311f 100644 --- a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java +++ b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ValidateTask.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.payments; import org.json.JSONException; diff --git a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java index 2fb81cef8c..ef7793c1e6 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java +++ b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* Crypt.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.utils; import java.security.MessageDigest; diff --git a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java index 2db88fcc9b..f2b0e8786e 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java +++ b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* CustomSSLSocketFactory.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.utils; import java.io.IOException; import java.net.Socket; @@ -51,4 +79,4 @@ public class CustomSSLSocketFactory extends SSLSocketFactory { public Socket createSocket() throws IOException { return sslContext.getSocketFactory().createSocket(); } -}
\ No newline at end of file +} diff --git a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java index 14346702cc..5687b3c1e1 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java +++ b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* HttpRequester.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.utils; import java.io.BufferedReader; diff --git a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java index 36753e368c..d66dfe9531 100644 --- a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java +++ b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* RequestParams.java */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ package org.godotengine.godot.utils; import java.util.ArrayList; diff --git a/platform/android/java_bind.cpp b/platform/android/java_bind.cpp deleted file mode 100644 index 33ecfcffb6..0000000000 --- a/platform/android/java_bind.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "java_bind.h" - -JavaBind::JavaBind() -{ -} diff --git a/platform/android/java_bind.h b/platform/android/java_bind.h deleted file mode 100644 index ca6b4650d3..0000000000 --- a/platform/android/java_bind.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef JAVA_BIND_H -#define JAVA_BIND_H - -class JavaBind -{ -public: - JavaBind(); -}; - -#endif // JAVA_BIND_H diff --git a/platform/android/java_class_wrapper.cpp b/platform/android/java_class_wrapper.cpp index 283ea81152..4fda13fec0 100644 --- a/platform/android/java_class_wrapper.cpp +++ b/platform/android/java_class_wrapper.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* java_class_wrapper.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "java_class_wrapper.h" #include "thread_jandroid.h" diff --git a/platform/android/java_class_wrapper.h b/platform/android/java_class_wrapper.h index d5d8bd5be8..012e7854fe 100644 --- a/platform/android/java_class_wrapper.h +++ b/platform/android/java_class_wrapper.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* java_class_wrapper.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef JAVA_CLASS_WRAPPER_H #define JAVA_CLASS_WRAPPER_H diff --git a/platform/bb10/bbutil.h b/platform/bb10/bbutil.h index bc422cd9b9..c2a4c5a7f5 100644 --- a/platform/bb10/bbutil.h +++ b/platform/bb10/bbutil.h @@ -1,31 +1,3 @@ -/*************************************************************************/ -/* bbutil.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ #ifndef _UTILITY_H_INCLUDED #define _UTILITY_H_INCLUDED diff --git a/platform/bb10/export/export.cpp b/platform/bb10/export/export.cpp index daee5aab9b..7cb0aa3607 100644 --- a/platform/bb10/export/export.cpp +++ b/platform/bb10/export/export.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* export.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "version.h" #include "export.h" #include "tools/editor/editor_settings.h" diff --git a/platform/bb10/export/export.h b/platform/bb10/export/export.h index 06c7a681be..bd9cad5cb3 100644 --- a/platform/bb10/export/export.h +++ b/platform/bb10/export/export.h @@ -1,3 +1,29 @@ - - +/*************************************************************************/ +/* export.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_bb10_exporter(); diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp index 330046162d..2fedd1532a 100644 --- a/platform/haiku/context_gl_haiku.cpp +++ b/platform/haiku/context_gl_haiku.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* context_gl_haiku.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "context_gl_haiku.h" #if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED) diff --git a/platform/haiku/context_gl_haiku.h b/platform/haiku/context_gl_haiku.h index 63caec6fb3..91aae6b382 100644 --- a/platform/haiku/context_gl_haiku.h +++ b/platform/haiku/context_gl_haiku.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* context_gl_haiku.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef CONTEXT_GL_HAIKU_H #define CONTEXT_GL_HAIKU_H diff --git a/platform/haiku/godot_haiku.cpp b/platform/haiku/godot_haiku.cpp index fa5651d89a..71c9d30239 100644 --- a/platform/haiku/godot_haiku.cpp +++ b/platform/haiku/godot_haiku.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* godot_haiku.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "main/main.h" #include "os_haiku.h" diff --git a/platform/haiku/haiku_application.cpp b/platform/haiku/haiku_application.cpp index 180bd133fb..2b9604f563 100644 --- a/platform/haiku/haiku_application.cpp +++ b/platform/haiku/haiku_application.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_application.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "haiku_application.h" HaikuApplication::HaikuApplication() diff --git a/platform/haiku/haiku_application.h b/platform/haiku/haiku_application.h index a64b01c94d..74316b9b1f 100644 --- a/platform/haiku/haiku_application.h +++ b/platform/haiku/haiku_application.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_application.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef HAIKU_APPLICATION_H #define HAIKU_APPLICATION_H diff --git a/platform/haiku/haiku_direct_window.cpp b/platform/haiku/haiku_direct_window.cpp index 184d64f840..583453af1e 100644 --- a/platform/haiku/haiku_direct_window.cpp +++ b/platform/haiku/haiku_direct_window.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_direct_window.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include <UnicodeChar.h> #include "main/main.h" diff --git a/platform/haiku/haiku_direct_window.h b/platform/haiku/haiku_direct_window.h index f0398df505..b4fdb6edb2 100644 --- a/platform/haiku/haiku_direct_window.h +++ b/platform/haiku/haiku_direct_window.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_direct_window.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef HAIKU_DIRECT_WINDOW_H #define HAIKU_DIRECT_WINDOW_H diff --git a/platform/haiku/haiku_gl_view.cpp b/platform/haiku/haiku_gl_view.cpp index 481d6098a7..da0957c81d 100644 --- a/platform/haiku/haiku_gl_view.cpp +++ b/platform/haiku/haiku_gl_view.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_gl_view.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "main/main.h" #include "haiku_gl_view.h" diff --git a/platform/haiku/haiku_gl_view.h b/platform/haiku/haiku_gl_view.h index f44b6d4325..05c288e83b 100644 --- a/platform/haiku/haiku_gl_view.h +++ b/platform/haiku/haiku_gl_view.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* haiku_gl_view.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef HAIKU_GL_VIEW_H #define HAIKU_GL_VIEW_H diff --git a/platform/haiku/key_mapping_haiku.cpp b/platform/haiku/key_mapping_haiku.cpp index f0622d3f1d..43981b8855 100644 --- a/platform/haiku/key_mapping_haiku.cpp +++ b/platform/haiku/key_mapping_haiku.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* key_mapping_haiku.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include <InterfaceDefs.h> #include "key_mapping_haiku.h" diff --git a/platform/haiku/key_mapping_haiku.h b/platform/haiku/key_mapping_haiku.h index e2864678a8..1309ee034d 100644 --- a/platform/haiku/key_mapping_haiku.h +++ b/platform/haiku/key_mapping_haiku.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* key_mapping_haiku.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef KEY_MAPPING_HAIKU_H #define KEY_MAPPING_HAIKU_H diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp index 308800cec0..f5674fb0eb 100644 --- a/platform/haiku/os_haiku.cpp +++ b/platform/haiku/os_haiku.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* os_haiku.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include <Screen.h> #include "servers/visual/visual_server_raster.h" diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h index e1b0b86cf4..e1d6b5b7b9 100644 --- a/platform/haiku/os_haiku.h +++ b/platform/haiku/os_haiku.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* os_haiku.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef OS_HAIKU_H #define OS_HAIKU_H diff --git a/platform/haiku/platform_config.h b/platform/haiku/platform_config.h index 691bdbdb9c..72dc0e5149 100644 --- a/platform/haiku/platform_config.h +++ b/platform/haiku/platform_config.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* platform_config.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include <alloca.h> // for ifaddrs.h needed in drivers/unix/ip_unix.cpp diff --git a/platform/iphone/Appirater.h b/platform/iphone/Appirater.h index 9c7e3febf6..96dd30e7c7 100644 --- a/platform/iphone/Appirater.h +++ b/platform/iphone/Appirater.h @@ -1,31 +1,4 @@ -/*************************************************************************/ -/* Appirater.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ +/* This file is part of Appirater. Copyright (c) 2010, Arash Payan diff --git a/platform/iphone/globals/global_defaults.cpp b/platform/iphone/globals/global_defaults.cpp index 18a51a5b4e..23261ceb02 100755 --- a/platform/iphone/globals/global_defaults.cpp +++ b/platform/iphone/globals/global_defaults.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* global_defaults.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "global_defaults.h" #include "globals.h" diff --git a/platform/iphone/globals/global_defaults.h b/platform/iphone/globals/global_defaults.h index 305b600b43..0f4bf64c9b 100644 --- a/platform/iphone/globals/global_defaults.h +++ b/platform/iphone/globals/global_defaults.h @@ -1,3 +1,29 @@ - - +/*************************************************************************/ +/* global_defaults.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_iphone_global_defaults(); diff --git a/platform/iphone/ios.h b/platform/iphone/ios.h index 0e4661520b..8861417284 100644 --- a/platform/iphone/ios.h +++ b/platform/iphone/ios.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ios.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IOS_H #define IOS_H diff --git a/platform/iphone/ios.mm b/platform/iphone/ios.mm index deb63feacf..949d3bcb27 100644 --- a/platform/iphone/ios.mm +++ b/platform/iphone/ios.mm @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* ios.mm */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "ios.h" #import <UIKit/UIKit.h> diff --git a/platform/iphone/main.m b/platform/iphone/main.m index 055e6a63c8..ea46a69672 100644 --- a/platform/iphone/main.m +++ b/platform/iphone/main.m @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* main.m */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #import <UIKit/UIKit.h> #import "app_delegate.h" #include <stdio.h> diff --git a/platform/iphone/platform_refcount.h b/platform/iphone/platform_refcount.h index 45391e651a..3bf8652b4a 100644 --- a/platform/iphone/platform_refcount.h +++ b/platform/iphone/platform_refcount.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* platform_refcount.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "safe_refcount.h" #ifdef IPHONE_ENABLED diff --git a/platform/isim/SCsub b/platform/isim/SCsub index 2bd65cb49b..8a46565e7e 100644 --- a/platform/isim/SCsub +++ b/platform/isim/SCsub @@ -12,22 +12,25 @@ iphone_lib = [ '#platform/iphone/view_controller.mm', '#platform/iphone/game_center.mm', '#platform/iphone/in_app_store.mm', - '#platform/iphone/Appirater.m', + '#platform/iphone/icloud.mm', + #'#platform/iphone/Appirater.m', + '#platform/iphone/ios.mm', ] - #env.Depends('#core/math/vector3.h', 'vector3_psp.h') #iphone_lib = env.Library('iphone', iphone_lib) env_ios = env.Clone(); + if env['ios_gles22_override'] == "yes": env_ios.Append(CPPFLAGS=['-DGLES2_OVERRIDE']) -if env['ios_appirater'] == "yes": - env_ios.Append(CPPFLAGS=['-DAPPIRATER_ENABLED']) +#if env['ios_appirater'] == "yes": +# env_ios.Append(CPPFLAGS=['-DAPPIRATER_ENABLED']) + obj = env_ios.Object('#platform/iphone/godot_iphone.cpp') diff --git a/platform/javascript/audio_server_javascript.cpp b/platform/javascript/audio_server_javascript.cpp index fbd5d2e1c0..9f82f084e5 100644 --- a/platform/javascript/audio_server_javascript.cpp +++ b/platform/javascript/audio_server_javascript.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_server_javascript.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "audio_server_javascript.h" #include "emscripten.h" diff --git a/platform/javascript/audio_server_javascript.h b/platform/javascript/audio_server_javascript.h index 1dc90c48ee..bb9a91f78a 100644 --- a/platform/javascript/audio_server_javascript.h +++ b/platform/javascript/audio_server_javascript.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_server_javascript.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef AUDIO_SERVER_JAVASCRIPT_H #define AUDIO_SERVER_JAVASCRIPT_H diff --git a/platform/osx/dir_access_osx.h b/platform/osx/dir_access_osx.h index 8b742b64fa..d20eee1e2e 100644 --- a/platform/osx/dir_access_osx.h +++ b/platform/osx/dir_access_osx.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* dir_access_unix.h */ +/* dir_access_osx.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -37,52 +37,16 @@ #include <dirent.h> #include "os/dir_access.h" +#include "drivers/unix/dir_access_unix.h" /** @author Juan Linietsky <reduzio@gmail.com> */ -class DirAccessOSX : public DirAccess { +class DirAccessOSX : public DirAccessUnix { +protected: - DIR *dir_stream; - - static DirAccess *create_fs(); - - String current_dir; - bool _cisdir; - bool _cishidden; - -public: - - virtual bool list_dir_begin(); ///< This starts dir listing - virtual String get_next(); - virtual bool current_is_dir() const; - virtual bool current_is_hidden() const; - - virtual void list_dir_end(); ///< - - virtual int get_drive_count(); - virtual String get_drive(int p_drive); - - virtual Error change_dir(String p_dir); ///< can be relative or absolute, return false on success - virtual String get_current_dir(); ///< return current dir location - virtual Error make_dir(String p_dir); - - virtual bool file_exists(String p_file); - virtual bool dir_exists(String p_dir); - - virtual uint64_t get_modified_time(String p_file); - - - - virtual Error rename(String p_from, String p_to); - virtual Error remove(String p_name); - - virtual size_t get_space_left(); - - - DirAccessOSX(); - ~DirAccessOSX(); + virtual String fix_unicode_name(const char* p_name) const; }; diff --git a/platform/osx/dir_access_osx.mm b/platform/osx/dir_access_osx.mm index d123c5c648..5615858262 100644 --- a/platform/osx/dir_access_osx.mm +++ b/platform/osx/dir_access_osx.mm @@ -1,5 +1,5 @@ /*************************************************************************/ -/* dir_access_unix.cpp */ +/* dir_access_osx.mm */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -30,324 +30,21 @@ #if defined(UNIX_ENABLED) || defined(LIBC_FILEIO_ENABLED) -#ifndef ANDROID_ENABLED -#include <sys/statvfs.h> -#endif - -#include <stdio.h> -#include "os/memory.h" -#include "print_string.h" #include <errno.h> #include <Foundation/NSString.h> -DirAccess *DirAccessOSX::create_fs() { - - return memnew( DirAccessOSX ); -} - -bool DirAccessOSX::list_dir_begin() { - - list_dir_end(); //close any previous dir opening! - - -// char real_current_dir_name[2048]; //is this enough?! - //getcwd(real_current_dir_name,2048); - //chdir(curent_path.utf8().get_data()); - dir_stream = opendir(current_dir.utf8().get_data()); - //chdir(real_current_dir_name); - if (!dir_stream) - return true; //error! - - return false; -} - -bool DirAccessOSX::file_exists(String p_file) { - - GLOBAL_LOCK_FUNCTION - - - if (p_file.is_rel_path()) - p_file=current_dir+"/"+p_file; - else - p_file=fix_path(p_file); - - struct stat flags; - bool success = (stat(p_file.utf8().get_data(),&flags)==0); - - if (success && S_ISDIR(flags.st_mode)) { - success=false; - } - - return success; - -} - -bool DirAccessOSX::dir_exists(String p_dir) { - - GLOBAL_LOCK_FUNCTION - - - if (p_dir.is_rel_path()) - p_dir=get_current_dir().plus_file(p_dir); - else - p_dir=fix_path(p_dir); - - struct stat flags; - bool success = (stat(p_dir.utf8().get_data(),&flags)==0); - - if (success && S_ISDIR(flags.st_mode)) - return true; - - return false; - -} - -uint64_t DirAccessOSX::get_modified_time(String p_file) { - - if (p_file.is_rel_path()) - p_file=current_dir+"/"+p_file; - else - p_file=fix_path(p_file); - - struct stat flags; - bool success = (stat(p_file.utf8().get_data(),&flags)==0); - if (success) { - return flags.st_mtime; - } else { - - ERR_FAIL_V(0); - }; - return 0; -}; - - -String DirAccessOSX::get_next() { - - if (!dir_stream) - return ""; - dirent *entry; - - entry=readdir(dir_stream); - - if (entry==NULL) { - - list_dir_end(); - return ""; - } - - //typedef struct stat Stat; - struct stat flags; +String DirAccessOSX::fix_unicode_name(const char* p_name) const { String fname; - NSString* nsstr = [[NSString stringWithUTF8String: entry->d_name] precomposedStringWithCanonicalMapping]; + NSString* nsstr = [[NSString stringWithUTF8String: p_name] precomposedStringWithCanonicalMapping]; fname.parse_utf8([nsstr UTF8String]); - //[nsstr autorelease]; - - String f=current_dir+"/"+fname; - - if (stat(f.utf8().get_data(),&flags)==0) { - - if (S_ISDIR(flags.st_mode)) { - - _cisdir=true; - - } else { - - _cisdir=false; - } - - } else { - - _cisdir=false; - - } - - _cishidden=(fname!="." && fname!=".." && fname.begins_with(".")); - - - return fname; - -} - -bool DirAccessOSX::current_is_dir() const { - - return _cisdir; -} - -bool DirAccessOSX::current_is_hidden() const { - - return _cishidden; -} - - -void DirAccessOSX::list_dir_end() { - - if (dir_stream) - closedir(dir_stream); - dir_stream=0; - _cisdir=false; -} - -int DirAccessOSX::get_drive_count() { - - return 0; -} -String DirAccessOSX::get_drive(int p_drive) { - - return ""; -} - -Error DirAccessOSX::make_dir(String p_dir) { - - GLOBAL_LOCK_FUNCTION - - p_dir=fix_path(p_dir); - - char real_current_dir_name[2048]; - getcwd(real_current_dir_name,2048); - chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants - - bool success=(mkdir(p_dir.utf8().get_data(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)==0); - int err = errno; - - chdir(real_current_dir_name); - - if (success) { - return OK; - }; - - if (err == EEXIST) { - return ERR_ALREADY_EXISTS; - }; - - return ERR_CANT_CREATE; } -Error DirAccessOSX::change_dir(String p_dir) { - - GLOBAL_LOCK_FUNCTION - p_dir=fix_path(p_dir); - - - char real_current_dir_name[2048]; - getcwd(real_current_dir_name,2048); - String prev_dir; - if (prev_dir.parse_utf8(real_current_dir_name)) - prev_dir=real_current_dir_name; //no utf8, maybe latin? - - chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants - bool worked=(chdir(p_dir.utf8().get_data())==0); // we can only give this utf8 -#ifndef IPHONE_ENABLED - String base = _get_root_path(); - if (base!="") { - - getcwd(real_current_dir_name,2048); - String new_dir; - new_dir.parse_utf8(real_current_dir_name); - if (!new_dir.begins_with(base)) - worked=false; - } -#endif - if (worked) { - - getcwd(real_current_dir_name,2048); - if (current_dir.parse_utf8(real_current_dir_name)) - current_dir=real_current_dir_name; //no utf8, maybe latin? - } - - chdir(prev_dir.utf8().get_data()); - return worked?OK:ERR_INVALID_PARAMETER; - -} - -String DirAccessOSX::get_current_dir() { - - String base = _get_root_path(); - if (base!="") { - - String bd = current_dir.replace_first(base,""); - if (bd.begins_with("/")) - return _get_root_string()+bd.substr(1,bd.length()); - else - return _get_root_string()+bd; - - } - return current_dir; -} - -Error DirAccessOSX::rename(String p_path,String p_new_path) { - - if (p_path.is_rel_path()) - p_path=get_current_dir().plus_file(p_path); - else - p_path=fix_path(p_path); - - if (p_new_path.is_rel_path()) - p_new_path=get_current_dir().plus_file(p_new_path); - else - p_new_path=fix_path(p_new_path); - - return ::rename(p_path.utf8().get_data(),p_new_path.utf8().get_data())==0?OK:FAILED; -} -Error DirAccessOSX::remove(String p_path) { - - if (p_path.is_rel_path()) - p_path=get_current_dir().plus_file(p_path); - else - p_path=fix_path(p_path); - - struct stat flags; - if ((stat(p_path.utf8().get_data(),&flags)!=0)) - return FAILED; - - if (S_ISDIR(flags.st_mode)) - return ::rmdir(p_path.utf8().get_data())==0?OK:FAILED; - else - return ::unlink(p_path.utf8().get_data())==0?OK:FAILED; -} - - -size_t DirAccessOSX::get_space_left() { - -#ifndef NO_STATVFS - struct statvfs vfs; - if (statvfs(current_dir.utf8().get_data(), &vfs) != 0) { - - return 0; - }; - - return (size_t) (vfs.f_bavail * vfs.f_bsize); -#else -#warning THIS IS BROKEN - return 0; -#endif -}; - - - -DirAccessOSX::DirAccessOSX() { - - dir_stream=0; - current_dir="."; - _cisdir=false; - - /* determine drive count */ - - change_dir(current_dir); - -} - - -DirAccessOSX::~DirAccessOSX() { - - list_dir_end(); -} - #endif //posix_enabled diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp index 2604c2c15a..cb0514da9d 100644 --- a/platform/osx/export/export.cpp +++ b/platform/osx/export/export.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* export.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "version.h" #include "export.h" #include "tools/editor/editor_settings.h" diff --git a/platform/osx/export/export.h b/platform/osx/export/export.h index b149e482c9..8e0b83b457 100644 --- a/platform/osx/export/export.h +++ b/platform/osx/export/export.h @@ -1,3 +1,29 @@ - - +/*************************************************************************/ +/* export.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_osx_exporter(); diff --git a/platform/server/platform_config.h b/platform/server/platform_config.h index 72b10a0fb2..143f16c1fa 100644 --- a/platform/server/platform_config.h +++ b/platform/server/platform_config.h @@ -27,4 +27,3 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include <alloca.h> - diff --git a/platform/windows/export/export.cpp b/platform/windows/export/export.cpp index 952f51fdd4..9bf9ba93fe 100644 --- a/platform/windows/export/export.cpp +++ b/platform/windows/export/export.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* export.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "export.h" #include "platform/windows/logo.h" #include "tools/editor/editor_import_export.h" diff --git a/platform/windows/export/export.h b/platform/windows/export/export.h index 68ce500a20..aa3578fb98 100644 --- a/platform/windows/export/export.h +++ b/platform/windows/export/export.h @@ -1,4 +1,29 @@ - - +/*************************************************************************/ +/* export.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_windows_exporter(); - diff --git a/platform/windows/joystick.cpp b/platform/windows/joystick.cpp index f8526b5ec1..663bbe3b9b 100644 --- a/platform/windows/joystick.cpp +++ b/platform/windows/joystick.cpp @@ -37,6 +37,7 @@ #endif DWORD WINAPI _xinput_get_state(DWORD dwUserIndex, XINPUT_STATE* pState) { return ERROR_DEVICE_NOT_CONNECTED; } +DWORD WINAPI _xinput_set_state(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration) { return ERROR_DEVICE_NOT_CONNECTED; } joystick_windows::joystick_windows() { @@ -50,6 +51,7 @@ joystick_windows::joystick_windows(InputDefault* _input, HWND* hwnd) { dinput = NULL; xinput_dll = NULL; xinput_get_state = NULL; + xinput_set_state = NULL; load_xinput(); @@ -300,6 +302,9 @@ void joystick_windows::probe_joysticks() { x_joysticks[i].attached = true; x_joysticks[i].id = id; + x_joysticks[i].ff_timestamp = 0; + x_joysticks[i].ff_end_timestamp = 0; + x_joysticks[i].vibrating = false; attached_joysticks[id] = true; input->joy_connection_changed(id, true, "XInput Gamepad","__XINPUT_DEVICE__"); } @@ -358,6 +363,20 @@ unsigned int joystick_windows::process_joysticks(unsigned int p_last_id) { p_last_id = input->joy_axis(p_last_id, joy.id, JOY_AXIS_5, axis_correct(joy.state.Gamepad.bRightTrigger, true, true)); joy.last_packet = joy.state.dwPacketNumber; } + uint64_t timestamp = input->get_joy_vibration_timestamp(joy.id); + if (timestamp > joy.ff_timestamp) { + Vector2 strength = input->get_joy_vibration_strength(joy.id); + float duration = input->get_joy_vibration_duration(joy.id); + if (strength.x == 0 && strength.y == 0) { + joystick_vibration_stop_xinput(i, timestamp); + } else { + joystick_vibration_start_xinput(i, strength.x, strength.y, duration, timestamp); + } + } else if (joy.vibrating && joy.ff_end_timestamp != 0) { + uint64_t current_time = OS::get_singleton()->get_ticks_usec(); + if (current_time >= joy.ff_end_timestamp) + joystick_vibration_stop_xinput(i, current_time); + } } for (int i = 0; i < JOYSTICKS_MAX; i++) { @@ -401,7 +420,7 @@ unsigned int joystick_windows::process_joysticks(unsigned int p_last_id) { } } - // on mingw, these constants are not constants + // on mingw, these constants are not constants int count = 6; int axes[] = { DIJOFS_X, DIJOFS_Y, DIJOFS_Z, DIJOFS_RX, DIJOFS_RY, DIJOFS_RZ }; int values[] = { js.lX, js.lY, js.lZ, js.lRx, js.lRy, js.lRz }; @@ -500,9 +519,38 @@ InputDefault::JoyAxis joystick_windows::axis_correct(int p_val, bool p_xinput, b return jx; } +void joystick_windows::joystick_vibration_start_xinput(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration, uint64_t p_timestamp) { + xinput_gamepad &joy = x_joysticks[p_device]; + if (joy.attached) { + XINPUT_VIBRATION effect; + effect.wLeftMotorSpeed = (65535 * p_strong_magnitude); + effect.wRightMotorSpeed = (65535 * p_weak_magnitude); + if (xinput_set_state(p_device, &effect) == ERROR_SUCCESS) { + joy.ff_timestamp = p_timestamp; + joy.ff_end_timestamp = p_duration == 0 ? 0 : p_timestamp + (uint64_t)(p_duration * 1000000.0); + joy.vibrating = true; + } + } +} + +void joystick_windows::joystick_vibration_stop_xinput(int p_device, uint64_t p_timestamp) { + xinput_gamepad &joy = x_joysticks[p_device]; + if (joy.attached) { + XINPUT_VIBRATION effect; + effect.wLeftMotorSpeed = 0; + effect.wRightMotorSpeed = 0; + if (xinput_set_state(p_device, &effect) == ERROR_SUCCESS) { + joy.ff_timestamp = p_timestamp; + joy.vibrating = false; + } + } +} + + void joystick_windows::load_xinput() { xinput_get_state = &_xinput_get_state; + xinput_set_state = &_xinput_set_state; xinput_dll = LoadLibrary( "XInput1_4.dll" ); if (!xinput_dll) { xinput_dll = LoadLibrary("XInput1_3.dll"); @@ -519,12 +567,13 @@ void joystick_windows::load_xinput() { } XInputGetState_t func = (XInputGetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputGetState"); - if (!func) { + XInputSetState_t set_func = (XInputSetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputSetState"); + if (!func || !set_func) { unload_xinput(); return; } xinput_get_state = func; - return; + xinput_set_state = set_func; } void joystick_windows::unload_xinput() { diff --git a/platform/windows/joystick.h b/platform/windows/joystick.h index 332e86fbb8..77dee0466f 100644 --- a/platform/windows/joystick.h +++ b/platform/windows/joystick.h @@ -39,8 +39,8 @@ #define SAFE_RELEASE(x) \ if(x != NULL) \ { \ - x->Release(); \ - x = NULL; \ + x->Release(); \ + x = NULL; \ } #endif @@ -96,16 +96,23 @@ private: int id; bool attached; + bool vibrating; DWORD last_packet; XINPUT_STATE state; + uint64_t ff_timestamp; + uint64_t ff_end_timestamp; xinput_gamepad() { attached = false; + vibrating = false; + ff_timestamp = 0; + ff_end_timestamp = 0; last_packet = 0; } }; typedef DWORD (WINAPI *XInputGetState_t) (DWORD dwUserIndex, XINPUT_STATE* pState); + typedef DWORD (WINAPI *XInputSetState_t) (DWORD dwUserIndex, XINPUT_VIBRATION* pVibration); HWND* hWnd; HANDLE xinput_dll; @@ -132,9 +139,12 @@ private: bool have_device(const GUID &p_guid); bool is_xinput_device(const GUID* p_guid); bool setup_dinput_joystick(const DIDEVICEINSTANCE* instance); + void joystick_vibration_start_xinput(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration, uint64_t p_timestamp); + void joystick_vibration_stop_xinput(int p_device, uint64_t p_timestamp); InputDefault::JoyAxis axis_correct(int p_val, bool p_xinput = false, bool p_trigger = false, bool p_negate = false) const; XInputGetState_t xinput_get_state; + XInputSetState_t xinput_set_state; }; #endif diff --git a/platform/windows/packet_peer_udp_winsock.cpp b/platform/windows/packet_peer_udp_winsock.cpp index 0ca2d358af..2c79365c08 100644 --- a/platform/windows/packet_peer_udp_winsock.cpp +++ b/platform/windows/packet_peer_udp_winsock.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp_winsock.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "packet_peer_udp_winsock.h" #include <winsock2.h> diff --git a/platform/windows/packet_peer_udp_winsock.h b/platform/windows/packet_peer_udp_winsock.h index 34dbcbee91..b24dbac592 100644 --- a/platform/windows/packet_peer_udp_winsock.h +++ b/platform/windows/packet_peer_udp_winsock.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* packet_peer_udp_winsock.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PACKET_PEER_UDP_WINSOCK_H #define PACKET_PEER_UDP_WINSOCK_H diff --git a/platform/winrt/gl_context_egl.cpp b/platform/winrt/gl_context_egl.cpp index fd9fbe406f..12ccd404a9 100644 --- a/platform/winrt/gl_context_egl.cpp +++ b/platform/winrt/gl_context_egl.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* gl_context_egl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "gl_context_egl.h" #include "EGL/eglext.h" diff --git a/platform/winrt/gl_context_egl.h b/platform/winrt/gl_context_egl.h index ca3760e723..68dcdd5035 100644 --- a/platform/winrt/gl_context_egl.h +++ b/platform/winrt/gl_context_egl.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* gl_context_egl.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef CONTEXT_EGL_H #define CONTEXT_EGL_H diff --git a/platform/winrt/os_winrt.cpp b/platform/winrt/os_winrt.cpp index 5ec1bd2756..f045f54bf6 100644 --- a/platform/winrt/os_winrt.cpp +++ b/platform/winrt/os_winrt.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* os_winrt.cpp */ +/* os_winrt.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/platform/winrt/os_winrt.h b/platform/winrt/os_winrt.h index 0307f81954..145ccf0f7a 100644 --- a/platform/winrt/os_winrt.h +++ b/platform/winrt/os_winrt.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* OSWinrt.h */ +/* os_winrt.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/platform/winrt/platform_config.h b/platform/winrt/platform_config.h index 91669ad489..88b1fefed8 100644 --- a/platform/winrt/platform_config.h +++ b/platform/winrt/platform_config.h @@ -1,2 +1,29 @@ +/*************************************************************************/ +/* platform_config.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include <malloc.h> - diff --git a/platform/winrt/thread_winrt.cpp b/platform/winrt/thread_winrt.cpp index 3217292bee..097050e511 100644 --- a/platform/winrt/thread_winrt.cpp +++ b/platform/winrt/thread_winrt.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* thread_winrt.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "thread_winrt.h" #include "os/memory.h" diff --git a/platform/winrt/thread_winrt.h b/platform/winrt/thread_winrt.h index 6140c9c506..df275d560a 100644 --- a/platform/winrt/thread_winrt.h +++ b/platform/winrt/thread_winrt.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* thread_winrt.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef THREAD_WINRT_H #define THREAD_WINRT_H diff --git a/platform/x11/export/export.cpp b/platform/x11/export/export.cpp index bed57fbe9f..c6675ace72 100644 --- a/platform/x11/export/export.cpp +++ b/platform/x11/export/export.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* export.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "export.h" #include "platform/x11/logo.h" #include "tools/editor/editor_import_export.h" diff --git a/platform/x11/export/export.h b/platform/x11/export/export.h index 1077709ea1..9dc13d7459 100644 --- a/platform/x11/export/export.h +++ b/platform/x11/export/export.h @@ -1,4 +1,29 @@ - - +/*************************************************************************/ +/* export.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ void register_x11_exporter(); - diff --git a/platform/x11/joystick_linux.cpp b/platform/x11/joystick_linux.cpp index 5ce0219df7..82f79c2640 100644 --- a/platform/x11/joystick_linux.cpp +++ b/platform/x11/joystick_linux.cpp @@ -439,11 +439,9 @@ void joystick_linux::joystick_vibration_stop(int p_id, uint64_t p_timestamp) return; } - struct input_event stop; - stop.type = EV_FF; - stop.code = joy.ff_effect_id; - stop.value = 0; - write(joy.fd, (const void*)&stop, sizeof(stop)); + if (ioctl(joy.fd, EVIOCRMFF, joy.ff_effect_id) < 0) { + return; + } joy.ff_effect_id = -1; joy.ff_effect_timestamp = p_timestamp; diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 1ca779ef7c..c9349c1bbe 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -1625,7 +1625,7 @@ void OS_X11::process_xevents() { //Reply that all is well. XClientMessageEvent m; - memset(&m, sizeof(m), 0); + memset(&m, 0, sizeof(m)); m.type = ClientMessage; m.display = x11_display; m.window = xdnd_source_window; @@ -1662,7 +1662,7 @@ void OS_X11::process_xevents() { //xdnd position event, reply with an XDND status message //just depending on type of data for now XClientMessageEvent m; - memset(&m, sizeof(m), 0); + memset(&m, 0, sizeof(m)); m.type = ClientMessage; m.display = event.xclient.display; m.window = event.xclient.data.l[0]; @@ -1689,7 +1689,7 @@ void OS_X11::process_xevents() { else { //Reply that we're not interested. XClientMessageEvent m; - memset(&m, sizeof(m), 0); + memset(&m, 0, sizeof(m)); m.type = ClientMessage; m.display = event.xclient.display; m.window = event.xclient.data.l[0]; diff --git a/scene/2d/back_buffer_copy.cpp b/scene/2d/back_buffer_copy.cpp index 7a138830db..a83a3ce041 100644 --- a/scene/2d/back_buffer_copy.cpp +++ b/scene/2d/back_buffer_copy.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* back_buffer_copy.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "back_buffer_copy.h" void BackBufferCopy::_update_copy_mode() { diff --git a/scene/2d/back_buffer_copy.h b/scene/2d/back_buffer_copy.h index 734cad458a..f371dbdef4 100644 --- a/scene/2d/back_buffer_copy.h +++ b/scene/2d/back_buffer_copy.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* back_buffer_copy.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BACKBUFFERCOPY_H #define BACKBUFFERCOPY_H diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp index 8864459dfb..eb37634b24 100644 --- a/scene/2d/canvas_item.cpp +++ b/scene/2d/canvas_item.cpp @@ -112,21 +112,9 @@ void CanvasItemMaterial::_get_property_list( List<PropertyInfo> *p_list) const { void CanvasItemMaterial::set_shader(const Ref<Shader>& p_shader) { ERR_FAIL_COND(p_shader.is_valid() && p_shader->get_mode()!=Shader::MODE_CANVAS_ITEM); -#ifdef TOOLS_ENABLED - if (shader.is_valid()) { - shader->disconnect("changed",this,"_shader_changed"); - } -#endif shader=p_shader; -#ifdef TOOLS_ENABLED - - if (shader.is_valid()) { - shader->connect("changed",this,"_shader_changed"); - } -#endif - RID rid; if (shader.is_valid()) rid=shader->get_rid(); @@ -151,11 +139,6 @@ Variant CanvasItemMaterial::get_shader_param(const StringName& p_param) const{ return VS::get_singleton()->canvas_item_material_get_shader_param(material,p_param); } -void CanvasItemMaterial::_shader_changed() { - - -} - RID CanvasItemMaterial::get_rid() const { return material; @@ -1020,11 +1003,14 @@ InputEvent CanvasItem::make_input_local(const InputEvent& p_event) const { Vector2 CanvasItem::get_global_mouse_pos() const { - return get_viewport_transform().affine_inverse().xform(Input::get_singleton()->get_mouse_pos()); + ERR_FAIL_COND_V(!get_viewport(),Vector2()); + return get_canvas_transform().affine_inverse().xform( get_viewport()->get_mouse_pos() ); } Vector2 CanvasItem::get_local_mouse_pos() const{ - return (get_viewport_transform() * get_global_transform()).affine_inverse().xform(Input::get_singleton()->get_mouse_pos()); + ERR_FAIL_COND_V(!get_viewport(),Vector2()); + + return get_global_transform().affine_inverse().xform( get_global_mouse_pos() ); } diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h index d915f742ec..8b44e09857 100644 --- a/scene/2d/canvas_item.h +++ b/scene/2d/canvas_item.h @@ -60,7 +60,6 @@ protected: bool _get(const StringName& p_name,Variant &r_ret) const; void _get_property_list( List<PropertyInfo> *p_list) const; - void _shader_changed(); static void _bind_methods(); void get_argument_options(const StringName& p_function,int p_idx,List<String>*r_options) const; diff --git a/scene/2d/canvas_modulate.cpp b/scene/2d/canvas_modulate.cpp index 6a74cb1d91..e4a0500123 100644 --- a/scene/2d/canvas_modulate.cpp +++ b/scene/2d/canvas_modulate.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* canvas_modulate.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "canvas_modulate.h" diff --git a/scene/2d/canvas_modulate.h b/scene/2d/canvas_modulate.h index 0445db27af..ed642c788d 100644 --- a/scene/2d/canvas_modulate.h +++ b/scene/2d/canvas_modulate.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* canvas_modulate.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef CANVASMODULATE_H #define CANVASMODULATE_H diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp index 1cb34075bb..f37cef673d 100644 --- a/scene/2d/light_2d.cpp +++ b/scene/2d/light_2d.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_2d.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "light_2d.h" #include "servers/visual_server.h" diff --git a/scene/2d/light_2d.h b/scene/2d/light_2d.h index a8b0ef3b23..c03ef96eff 100644 --- a/scene/2d/light_2d.h +++ b/scene/2d/light_2d.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_2d.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef LIGHT_2D_H #define LIGHT_2D_H diff --git a/scene/2d/light_occluder_2d.cpp b/scene/2d/light_occluder_2d.cpp index ce617b1737..58c3e2191e 100644 --- a/scene/2d/light_occluder_2d.cpp +++ b/scene/2d/light_occluder_2d.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_occluder_2d.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "light_occluder_2d.h" diff --git a/scene/2d/light_occluder_2d.h b/scene/2d/light_occluder_2d.h index ccc2a1cd9c..69ed860a84 100644 --- a/scene/2d/light_occluder_2d.h +++ b/scene/2d/light_occluder_2d.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_occluder_2d.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef LIGHTOCCLUDER2D_H #define LIGHTOCCLUDER2D_H diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation2d.cpp index fe1760b84a..b4332cc75d 100644 --- a/scene/2d/navigation2d.cpp +++ b/scene/2d/navigation2d.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation2d.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "navigation2d.h" #define USE_ENTRY_POINT diff --git a/scene/2d/navigation2d.h b/scene/2d/navigation2d.h index 231f1e8c63..415470295b 100644 --- a/scene/2d/navigation2d.h +++ b/scene/2d/navigation2d.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation2d.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef NAVIGATION_2D_H #define NAVIGATION_2D_H diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp index 8c0d9cf35f..95f71104d0 100644 --- a/scene/2d/navigation_polygon.cpp +++ b/scene/2d/navigation_polygon.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_polygon.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "navigation_polygon.h" #include "navigation2d.h" #include "triangulator.h" diff --git a/scene/2d/navigation_polygon.h b/scene/2d/navigation_polygon.h index 07fee571f0..c40933cf7a 100644 --- a/scene/2d/navigation_polygon.h +++ b/scene/2d/navigation_polygon.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_polygon.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef NAVIGATION_POLYGON_H #define NAVIGATION_POLYGON_H diff --git a/scene/2d/node_2d_singleton.cpp b/scene/2d/node_2d_singleton.cpp deleted file mode 100644 index b26804fedf..0000000000 --- a/scene/2d/node_2d_singleton.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* node_2d_singleton.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "node_2d_singleton.h" - diff --git a/scene/2d/node_2d_singleton.h b/scene/2d/node_2d_singleton.h deleted file mode 100644 index 0aa6bbf992..0000000000 --- a/scene/2d/node_2d_singleton.h +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* node_2d_singleton.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef NODE_2D_SINGLETON_H -#define NODE_2D_SINGLETON_H - - -#endif // NODE_2D_SINGLETON_H diff --git a/scene/2d/path_texture.cpp b/scene/2d/path_texture.cpp index 09596083eb..3f7c514317 100644 --- a/scene/2d/path_texture.cpp +++ b/scene/2d/path_texture.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* path_texture.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "path_texture.h" diff --git a/scene/2d/path_texture.h b/scene/2d/path_texture.h index 0e63758b10..11a60b1390 100644 --- a/scene/2d/path_texture.h +++ b/scene/2d/path_texture.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* path_texture.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PATH_TEXTURE_H #define PATH_TEXTURE_H diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp index 8f0474b765..26c4ea385f 100644 --- a/scene/2d/physics_body_2d.cpp +++ b/scene/2d/physics_body_2d.cpp @@ -450,6 +450,19 @@ void RigidBody2D::_direct_state_changed(Object *p_state) { state=(Physics2DDirectBodyState*)p_state; //trust it #endif + set_block_transform_notify(true); // don't want notify (would feedback loop) + if (mode!=MODE_KINEMATIC) + set_global_transform(state->get_transform()); + linear_velocity=state->get_linear_velocity(); + angular_velocity=state->get_angular_velocity(); + if(sleeping!=state->is_sleeping()) { + sleeping=state->is_sleeping(); + emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed); + } + if (get_script_instance()) + get_script_instance()->call("_integrate_forces",state); + set_block_transform_notify(false); // want it back + if (contact_monitor) { contact_monitor->locked=true; @@ -539,18 +552,7 @@ void RigidBody2D::_direct_state_changed(Object *p_state) { } - set_block_transform_notify(true); // don't want notify (would feedback loop) - if (mode!=MODE_KINEMATIC) - set_global_transform(state->get_transform()); - linear_velocity=state->get_linear_velocity(); - angular_velocity=state->get_angular_velocity(); - if(sleeping!=state->is_sleeping()) { - sleeping=state->is_sleeping(); - emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed); - } - if (get_script_instance()) - get_script_instance()->call("_integrate_forces",state); - set_block_transform_notify(false); // want it back + state=NULL; } diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp index 03ced12c55..cfb87fb998 100644 --- a/scene/2d/polygon_2d.cpp +++ b/scene/2d/polygon_2d.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* polygon_2d.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "polygon_2d.h" Rect2 Polygon2D::get_item_rect() const { diff --git a/scene/2d/polygon_2d.h b/scene/2d/polygon_2d.h index eaa642787c..04e8aeb6fd 100644 --- a/scene/2d/polygon_2d.h +++ b/scene/2d/polygon_2d.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* polygon_2d.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef POLYGON_2D_H #define POLYGON_2D_H diff --git a/scene/2d/sample_player_2d.cpp b/scene/2d/sample_player_2d.cpp index 4d719b532b..7c997b3f12 100644 --- a/scene/2d/sample_player_2d.cpp +++ b/scene/2d/sample_player_2d.cpp @@ -81,7 +81,7 @@ void SamplePlayer2D::_get_property_list(List<PropertyInfo> *p_list) const { } } - p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR)); + p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER)); } void SamplePlayer2D::_notification(int p_what) { diff --git a/scene/2d/y_sort.cpp b/scene/2d/y_sort.cpp index d441abfaf1..ed753ef745 100644 --- a/scene/2d/y_sort.cpp +++ b/scene/2d/y_sort.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* y_sort.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "y_sort.h" diff --git a/scene/2d/y_sort.h b/scene/2d/y_sort.h index 6d04a67e42..c8fa152c75 100644 --- a/scene/2d/y_sort.h +++ b/scene/2d/y_sort.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* y_sort.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef Y_SORT_H #define Y_SORT_H diff --git a/scene/3d/baked_light_instance.cpp b/scene/3d/baked_light_instance.cpp index 4487415030..fafa62866f 100644 --- a/scene/3d/baked_light_instance.cpp +++ b/scene/3d/baked_light_instance.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light_instance.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "baked_light_instance.h" #include "scene/scene_string_names.h" diff --git a/scene/3d/baked_light_instance.h b/scene/3d/baked_light_instance.h index 0694c813ce..92c2d50986 100644 --- a/scene/3d/baked_light_instance.h +++ b/scene/3d/baked_light_instance.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light_instance.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BAKED_LIGHT_INSTANCE_H #define BAKED_LIGHT_INSTANCE_H diff --git a/scene/3d/body_shape.cpp b/scene/3d/body_shape.cpp index e62ab394af..adb0d17753 100644 --- a/scene/3d/body_shape.cpp +++ b/scene/3d/body_shape.cpp @@ -32,11 +32,10 @@ #include "scene/resources/ray_shape.h" #include "scene/resources/box_shape.h" #include "scene/resources/capsule_shape.h" -//#include "scene/resources/cylinder_shape.h" #include "scene/resources/convex_polygon_shape.h" #include "scene/resources/concave_polygon_shape.h" -#include "scene/resources/height_map_shape.h" #include "scene/resources/plane_shape.h" +//TODO: Implement CylinderShape and HeightMapShape? #include "mesh_instance.h" #include "physics_body.h" #include "quick_hull.h" diff --git a/scene/3d/collision_polygon.cpp b/scene/3d/collision_polygon.cpp index e05f29714b..2948966fb3 100644 --- a/scene/3d/collision_polygon.cpp +++ b/scene/3d/collision_polygon.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_polygon.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "collision_polygon.h" #include "collision_object.h" diff --git a/scene/3d/collision_polygon.h b/scene/3d/collision_polygon.h index 3d190a02b3..63ff3e84e4 100644 --- a/scene/3d/collision_polygon.h +++ b/scene/3d/collision_polygon.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_polygon.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef COLLISION_POLYGON_H #define COLLISION_POLYGON_H diff --git a/scene/3d/immediate_geometry.cpp b/scene/3d/immediate_geometry.cpp index 651d20ae71..4964582be4 100644 --- a/scene/3d/immediate_geometry.cpp +++ b/scene/3d/immediate_geometry.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* immediate_geometry.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "immediate_geometry.h" diff --git a/scene/3d/immediate_geometry.h b/scene/3d/immediate_geometry.h index beb8ea8214..28b5735ca8 100644 --- a/scene/3d/immediate_geometry.h +++ b/scene/3d/immediate_geometry.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* immediate_geometry.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef IMMEDIATE_GEOMETRY_H #define IMMEDIATE_GEOMETRY_H diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp index 2b74d43ad2..74f83b67da 100644 --- a/scene/3d/navigation.cpp +++ b/scene/3d/navigation.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "navigation.h" void Navigation::_navmesh_link(int p_id) { diff --git a/scene/3d/navigation.h b/scene/3d/navigation.h index f8434aaf72..1cfc416fc9 100644 --- a/scene/3d/navigation.h +++ b/scene/3d/navigation.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef NAVIGATION_H #define NAVIGATION_H diff --git a/scene/3d/navigation_agent.cpp b/scene/3d/navigation_agent.cpp deleted file mode 100644 index 9b304e45ec..0000000000 --- a/scene/3d/navigation_agent.cpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "navigation_agent.h" - -NavigationAgent::NavigationAgent() -{ -} diff --git a/scene/3d/navigation_agent.h b/scene/3d/navigation_agent.h deleted file mode 100644 index baceb693a5..0000000000 --- a/scene/3d/navigation_agent.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef NAVIGATION_AGENT_H -#define NAVIGATION_AGENT_H - -class NavigationAgent -{ -public: - NavigationAgent(); -}; - -#endif // NAVIGATION_AGENT_H diff --git a/scene/3d/navigation_mesh.cpp b/scene/3d/navigation_mesh.cpp index 3adf282f13..386a0fab57 100644 --- a/scene/3d/navigation_mesh.cpp +++ b/scene/3d/navigation_mesh.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_mesh.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "navigation_mesh.h" #include "navigation.h" #include "mesh_instance.h" diff --git a/scene/3d/navigation_mesh.h b/scene/3d/navigation_mesh.h index cb3b5d95f6..c49965cd85 100644 --- a/scene/3d/navigation_mesh.h +++ b/scene/3d/navigation_mesh.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_mesh.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef NAVIGATION_MESH_H #define NAVIGATION_MESH_H diff --git a/scene/3d/optimized_spatial_scene.cpp b/scene/3d/optimized_spatial_scene.cpp deleted file mode 100644 index 27631c7a74..0000000000 --- a/scene/3d/optimized_spatial_scene.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* optimized_spatial_scene.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "optimized_spatial_scene.h" - -OptimizedSpatialScene::OptimizedSpatialScene() -{ -} diff --git a/scene/3d/optimized_spatial_scene.h b/scene/3d/optimized_spatial_scene.h deleted file mode 100644 index e1e6e14f73..0000000000 --- a/scene/3d/optimized_spatial_scene.h +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************************************/ -/* optimized_spatial_scene.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef OPTIMIZED_SPATIAL_SCENE_H -#define OPTIMIZED_SPATIAL_SCENE_H - -#include "scene/3d/spatial.h" - -class OptimizedSpatialScene : public Spatial { - - OBJ_TYPE( OptimizedSpatialScene, Spatial ); -public: - OptimizedSpatialScene(); -}; - -#endif // OPTIMIZED_SPATIAL_SCENE_H diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp index 243cb31aca..116f967bd2 100644 --- a/scene/3d/physics_body.cpp +++ b/scene/3d/physics_body.cpp @@ -397,6 +397,18 @@ void RigidBody::_direct_state_changed(Object *p_state) { state=(PhysicsDirectBodyState*)p_state; //trust it #endif + set_ignore_transform_notification(true); + set_global_transform(state->get_transform()); + linear_velocity=state->get_linear_velocity(); + angular_velocity=state->get_angular_velocity(); + if(sleeping!=state->is_sleeping()) { + sleeping=state->is_sleeping(); + emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed); + } + if (get_script_instance()) + get_script_instance()->call("_integrate_forces",state); + set_ignore_transform_notification(false); + if (contact_monitor) { contact_monitor->locked=true; @@ -484,17 +496,7 @@ void RigidBody::_direct_state_changed(Object *p_state) { } - set_ignore_transform_notification(true); - set_global_transform(state->get_transform()); - linear_velocity=state->get_linear_velocity(); - angular_velocity=state->get_angular_velocity(); - if(sleeping!=state->is_sleeping()) { - sleeping=state->is_sleeping(); - emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed); - } - if (get_script_instance()) - get_script_instance()->call("_integrate_forces",state); - set_ignore_transform_notification(false); + state=NULL; } diff --git a/scene/3d/spatial_sample_player.cpp b/scene/3d/spatial_sample_player.cpp index 0df921f208..4c5b2c240e 100644 --- a/scene/3d/spatial_sample_player.cpp +++ b/scene/3d/spatial_sample_player.cpp @@ -82,7 +82,7 @@ void SpatialSamplePlayer::_get_property_list(List<PropertyInfo> *p_list) const { } } - p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR)); + p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER)); } void SpatialSamplePlayer::_notification(int p_what) { diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index a65d199937..8c86c4bf35 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* sprite_3d.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "sprite_3d.h" #include "scene/scene_string_names.h" #include "core_string_names.h" diff --git a/scene/3d/sprite_3d.h b/scene/3d/sprite_3d.h index d1d859f634..41e6ba804a 100644 --- a/scene/3d/sprite_3d.h +++ b/scene/3d/sprite_3d.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* sprite_3d.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef SPRITE_3D_H #define SPRITE_3D_H diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp index 7d134a070e..6ccf07db1e 100644 --- a/scene/3d/vehicle_body.cpp +++ b/scene/3d/vehicle_body.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* vehicle_body.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "vehicle_body.h" #define ROLLING_INFLUENCE_FIX diff --git a/scene/3d/vehicle_body.h b/scene/3d/vehicle_body.h index 31c61ff99d..3a516be716 100644 --- a/scene/3d/vehicle_body.h +++ b/scene/3d/vehicle_body.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* vehicle_body.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef VEHICLE_BODY_H #define VEHICLE_BODY_H diff --git a/scene/animation/animation_cache.cpp b/scene/animation/animation_cache.cpp index b1123897b2..113e2c2278 100644 --- a/scene/animation/animation_cache.cpp +++ b/scene/animation/animation_cache.cpp @@ -301,7 +301,7 @@ void AnimationCache::set_all(float p_time, float p_delta) { } break; case Animation::TYPE_VALUE: { - if (animation->value_track_is_continuous(i)) { + if (animation->value_track_get_update_mode(i)==Animation::UPDATE_CONTINUOUS || (animation->value_track_get_update_mode(i)==Animation::UPDATE_DISCRETE && p_delta==0)) { Variant v = animation->value_track_interpolate(i,p_time); set_track_value(i,v); } else { diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp index 2399bee539..dd4fa992ac 100644 --- a/scene/animation/animation_player.cpp +++ b/scene/animation/animation_player.cpp @@ -174,7 +174,7 @@ void AnimationPlayer::_get_property_list( List<PropertyInfo> *p_list) const { hint+=E->get(); } - p_list->push_back( PropertyInfo( Variant::STRING, "playback/play", PROPERTY_HINT_ENUM, hint,PROPERTY_USAGE_EDITOR) ); + p_list->push_back( PropertyInfo( Variant::STRING, "playback/play", PROPERTY_HINT_ENUM, hint,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER) ); p_list->push_back( PropertyInfo( Variant::BOOL, "playback/active", PROPERTY_HINT_NONE,"" ) ); p_list->push_back( PropertyInfo( Variant::REAL, "playback/speed", PROPERTY_HINT_RANGE, "-64,64,0.01") ); @@ -421,12 +421,13 @@ void AnimationPlayer::_animation_process_animation(AnimationData* p_anim,float p TrackNodeCache::PropertyAnim *pa = &E->get(); - if (a->value_track_is_continuous(i) || p_delta==0) { //delta == 0 means seek + if (a->value_track_get_update_mode(i)==Animation::UPDATE_CONTINUOUS || (p_delta==0 && a->value_track_get_update_mode(i)==Animation::UPDATE_DISCRETE)) { //delta == 0 means seek Variant value=a->value_track_interpolate(i,p_time); - if (p_delta==0 && value.get_type()==Variant::STRING) - continue; // doing this with strings is messy, should find another way + //thanks to trigger mode, this should be solved now.. + //if (p_delta==0 && value.get_type()==Variant::STRING) + // continue; // doing this with strings is messy, should find another way if (pa->accum_pass!=accum_pass) { ERR_CONTINUE( cache_update_prop_size >= NODE_CACHE_UPDATE_MAX ); cache_update_prop[cache_update_prop_size++]=pa; @@ -437,11 +438,12 @@ void AnimationPlayer::_animation_process_animation(AnimationData* p_anim,float p } - } else if (p_allow_discrete) { + } else if (p_allow_discrete && p_delta!=0) { List<int> indices; a->value_track_get_key_indices(i,p_time,p_delta,&indices); + for(List<int>::Element *F=indices.front();F;F=F->next()) { Variant value=a->track_get_key_value(i,F->get()); @@ -538,6 +540,7 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd,float p_delta,flo float len=cd.from->animation->get_length(); bool loop=cd.from->animation->has_loop(); + bool loop_interpolation=cd.from->animation->has_loop_interpolation(); if (!loop) { @@ -563,10 +566,21 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd,float p_delta,flo } - } else { + } else if (loop_interpolation) { next_pos=Math::fposmod(next_pos,len); + } else { + + if (next_pos<0 || next_pos>len) { + if (!backwards) + next_pos=0; + else if (backwards) + next_pos=len; + } + // fix delta - not sure if needed here + delta=next_pos-cd.pos; + } cd.pos=next_pos; diff --git a/scene/animation/animation_player.h b/scene/animation/animation_player.h index 2ae3a0756c..ac0265dbaa 100644 --- a/scene/animation/animation_player.h +++ b/scene/animation/animation_player.h @@ -33,7 +33,6 @@ #include "scene/resources/animation.h" #include "scene/3d/spatial.h" #include "scene/3d/skeleton.h" -#include "scene/main/misc.h" #include "scene/2d/node_2d.h" /** @author Juan Linietsky <reduzio@gmail.com> diff --git a/scene/animation/animation_tree_player.cpp b/scene/animation/animation_tree_player.cpp index 0f7ed1cb29..628edf09de 100644 --- a/scene/animation/animation_tree_player.cpp +++ b/scene/animation/animation_tree_player.cpp @@ -825,7 +825,7 @@ void AnimationTreePlayer::_process_animation(float p_delta) { } break; case Animation::TYPE_VALUE: { ///< Set a value in a property, can be interpolated. - if (a->value_track_is_continuous(tr.local_track)) { + if (a->value_track_get_update_mode(tr.local_track)==Animation::UPDATE_CONTINUOUS) { Variant value = a->value_track_interpolate(tr.local_track,anim_list->time); Variant::blend(tr.track->value,value,blend,tr.track->value); } else { diff --git a/scene/animation/animation_tree_player.h b/scene/animation/animation_tree_player.h index 0e78281e4c..dae891b5ce 100644 --- a/scene/animation/animation_tree_player.h +++ b/scene/animation/animation_tree_player.h @@ -33,7 +33,6 @@ #include "scene/resources/animation.h" #include "scene/3d/spatial.h" #include "scene/3d/skeleton.h" -#include "scene/main/misc.h" #include "animation_player.h" diff --git a/scene/animation/transitioner.cpp b/scene/animation/transitioner.cpp deleted file mode 100644 index adcf73d489..0000000000 --- a/scene/animation/transitioner.cpp +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************/ -/* transitioner.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "transitioner.h" -/* -Transitioner::Transitioner() -{ -} -*/ diff --git a/scene/animation/transitioner.h b/scene/animation/transitioner.h deleted file mode 100644 index 8b7ec4f3fa..0000000000 --- a/scene/animation/transitioner.h +++ /dev/null @@ -1,68 +0,0 @@ -/*************************************************************************/ -/* transitioner.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef TRANSITIONER_H -#define TRANSITIONER_H - -/* -class Transitioner : public Node { - OBJ_TYPE(Transitioner, Node); -public: - enum Interpolation { - INTERPOLATION_NEAREST, - INTERPOLATION_LINEAR, - INTERPOLATION_CUBIC - }; - - enum TransitionType { - TYPE_PROPERTY, - TYPE_METHOD, - TYPE_TRANSITION - - }; - - - void create_transition(const String& p_transition, TransitionType p_type); - void transition_set_target(const NodePath& p_node,const String& p_target); - TransitionType transition_get_type() const; - void transition_add_key(const String& p_transition,float p_time, const Variant& p_key); - int transition_get_key_count(const String& p_transition) const; - Variant transition_get_key_time(const String& p_transition.int p_key_index) const - Variant transition_get_key(const String& p_transition,int p_key_index) const; - - void transition_remove_key(const String& p_transition, int p_key_index); - void transition_clear_keys(const String& p_transition); - void remove_transition(const String& p_transition); - - void transition_ - - - Transitioner(); -}; -*/ -#endif // TRANSITIONER_H diff --git a/scene/animation/tween_interpolaters.cpp b/scene/animation/tween_interpolaters.cpp index 80588d643e..058a7f12bc 100644 --- a/scene/animation/tween_interpolaters.cpp +++ b/scene/animation/tween_interpolaters.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* tween.cpp */ +/* tween_interpolaters.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/scene/audio/sample_player.cpp b/scene/audio/sample_player.cpp index bcd4354975..3827d40a71 100644 --- a/scene/audio/sample_player.cpp +++ b/scene/audio/sample_player.cpp @@ -152,7 +152,7 @@ void SamplePlayer::_get_property_list(List<PropertyInfo> *p_list) const { } } - p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR)); + p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER)); p_list->push_back( PropertyInfo( Variant::INT, "config/polyphony", PROPERTY_HINT_RANGE, "1,256,1")); p_list->push_back( PropertyInfo( Variant::OBJECT, "config/samples", PROPERTY_HINT_RESOURCE_TYPE, "SampleLibrary")); p_list->push_back( PropertyInfo( Variant::REAL, "default/volume_db", PROPERTY_HINT_RANGE, "-80,24,0.01")); diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp index bd24b43761..d6bbdf2d21 100644 --- a/scene/gui/color_picker.cpp +++ b/scene/gui/color_picker.cpp @@ -664,10 +664,15 @@ bool ColorPickerButton::is_editing_alpha() const{ } +ColorPicker *ColorPickerButton::get_picker() { + return picker; +} + void ColorPickerButton::_bind_methods(){ ObjectTypeDB::bind_method(_MD("set_color","color"),&ColorPickerButton::set_color); ObjectTypeDB::bind_method(_MD("get_color"),&ColorPickerButton::get_color); + ObjectTypeDB::bind_method(_MD("get_picker:ColorPicker"),&ColorPickerButton::get_picker); ObjectTypeDB::bind_method(_MD("set_edit_alpha","show"),&ColorPickerButton::set_edit_alpha); ObjectTypeDB::bind_method(_MD("is_editing_alpha"),&ColorPickerButton::is_editing_alpha); ObjectTypeDB::bind_method(_MD("_color_changed"),&ColorPickerButton::_color_changed); diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h index 4559bc7391..f5de982200 100644 --- a/scene/gui/color_picker.h +++ b/scene/gui/color_picker.h @@ -133,6 +133,8 @@ public: void set_edit_alpha(bool p_show); bool is_editing_alpha() const; + ColorPicker *get_picker(); + ColorPickerButton(); }; diff --git a/scene/gui/color_ramp_edit.cpp b/scene/gui/color_ramp_edit.cpp index 2ab004e04b..50e1ffbec9 100644 --- a/scene/gui/color_ramp_edit.cpp +++ b/scene/gui/color_ramp_edit.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* color_ramp_edit.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "color_ramp_edit.h" #include "os/keyboard.h" diff --git a/scene/gui/color_ramp_edit.h b/scene/gui/color_ramp_edit.h index 91292eed0d..61365d9f07 100644 --- a/scene/gui/color_ramp_edit.h +++ b/scene/gui/color_ramp_edit.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* color_ramp_edit.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef SCENE_GUI_COLOR_RAMP_EDIT_H_ #define SCENE_GUI_COLOR_RAMP_EDIT_H_ diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 666ac88055..edc8a8bcb8 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -153,6 +153,9 @@ bool Control::_set(const StringName& p_name, const Variant& p_value) { update(); } else if (name.begins_with("custom_fonts/")) { String dname = name.get_slicec('/',1); + if (data.font_override.has(dname)) { + _unref_font(data.font_override[dname]); + } data.font_override.erase(dname); notification(NOTIFICATION_THEME_CHANGED); update(); @@ -1551,7 +1554,15 @@ void Control::add_style_override(const StringName& p_name, const Ref<StyleBox>& void Control::add_font_override(const StringName& p_name, const Ref<Font>& p_font) { ERR_FAIL_COND(p_font.is_null()); + if (data.font_override.has(p_name)) { + _unref_font(data.font_override[p_name]); + } data.font_override[p_name]=p_font; + + if (p_font.is_valid()) { + _ref_font(p_font); + } + notification(NOTIFICATION_THEME_CHANGED); update(); } @@ -2244,6 +2255,33 @@ float Control::_get_rotation_deg() const { WARN_PRINT("Deprecated method Control._get_rotation_deg(): This method was renamed to get_rotation_deg. Please adapt your code accordingly, as the old method will be obsoleted."); return get_rotation_deg(); } +//needed to update the control if the font changes.. +void Control::_ref_font( Ref<Font> p_sc) { + + if (!data.font_refcount.has(p_sc)) { + data.font_refcount[p_sc]=1; + p_sc->connect("changed",this,"_font_changed"); + } else { + data.font_refcount[p_sc]+=1; + } +} + +void Control::_unref_font(Ref<Font> p_sc) { + + ERR_FAIL_COND(!data.font_refcount.has(p_sc)); + data.font_refcount[p_sc]--; + if (data.font_refcount[p_sc]==0) { + p_sc->disconnect("changed",this,"_font_changed"); + data.font_refcount.erase(p_sc); + } +} + +void Control::_font_changed(){ + + update(); + notification(NOTIFICATION_THEME_CHANGED); + minimum_size_changed(); //fonts affect minimum size pretty much almost always +} void Control::set_scale(const Vector2& p_scale){ @@ -2396,6 +2434,8 @@ void Control::_bind_methods() { ObjectTypeDB::bind_method(_MD("minimum_size_changed"), &Control::minimum_size_changed); + ObjectTypeDB::bind_method(_MD("_font_changed"), &Control::_font_changed); + BIND_VMETHOD(MethodInfo("_input_event",PropertyInfo(Variant::INPUT_EVENT,"event"))); BIND_VMETHOD(MethodInfo(Variant::VECTOR2,"get_minimum_size")); BIND_VMETHOD(MethodInfo(Variant::OBJECT,"get_drag_data",PropertyInfo(Variant::VECTOR2,"pos"))); diff --git a/scene/gui/control.h b/scene/gui/control.h index 69ee41f180..07a28de1ea 100644 --- a/scene/gui/control.h +++ b/scene/gui/control.h @@ -153,6 +153,8 @@ private: HashMap<StringName, Ref<Font>, StringNameHasher > font_override; HashMap<StringName, Color, StringNameHasher > color_override; HashMap<StringName, int, StringNameHasher > constant_override; + Map< Ref<Font>, int> font_refcount; + } data; // used internally @@ -184,6 +186,11 @@ private: void _set_rotation_deg(float p_degrees); float _get_rotation_deg() const; + void _ref_font(Ref<Font> p_sc); + void _unref_font( Ref<Font> p_sc); + void _font_changed(); + + friend class Viewport; void _modal_stack_remove(); void _modal_set_prev_focus_owner(ObjectID p_prev); diff --git a/scene/gui/custom_button.h b/scene/gui/custom_button.h deleted file mode 100644 index 2492750489..0000000000 --- a/scene/gui/custom_button.h +++ /dev/null @@ -1,43 +0,0 @@ -/*************************************************************************/ -/* custom_button.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef CUSTOM_BUTTON_H -#define CUSTOM_BUTTON_H - -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ -class CustomButton{ -public: - CustomButton(); - - ~CustomButton(); - -}; - -#endif diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 732cbb8e72..d335399caa 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -339,6 +339,11 @@ void FileDialog::update_file_list() { } } + if (dirs.find("..")==NULL) { + //may happen if lacking permissions + dirs.push_back(".."); + } + dirs.sort_custom<NoCaseComparator>(); files.sort_custom<NoCaseComparator>(); diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 9123194589..ee3b8913b4 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* graph_edit.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "graph_edit.h" #include "os/input.h" #include "os/keyboard.h" diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h index 8a7721b9b5..ac4e71ba49 100644 --- a/scene/gui/graph_edit.h +++ b/scene/gui/graph_edit.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* graph_edit.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef GRAPH_EDIT_H #define GRAPH_EDIT_H diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp index eef1bf79c4..94001b2ac1 100644 --- a/scene/gui/graph_node.cpp +++ b/scene/gui/graph_node.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* graph_node.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "graph_node.h" #include "method_bind_ext.inc" diff --git a/scene/gui/graph_node.h b/scene/gui/graph_node.h index dc407a6809..5a50d0d68d 100644 --- a/scene/gui/graph_node.h +++ b/scene/gui/graph_node.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* graph_node.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef GRAPH_NODE_H #define GRAPH_NODE_H diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp index a514f1b3d7..dde9768a6d 100644 --- a/scene/gui/grid_container.cpp +++ b/scene/gui/grid_container.cpp @@ -158,6 +158,7 @@ void GridContainer::set_columns(int p_columns) { columns=p_columns; queue_sort(); + minimum_size_changed(); } diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 66e8fe10ff..5379836746 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* item_list.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "item_list.h" #include "os/os.h" #include "globals.h" diff --git a/scene/gui/item_list.h b/scene/gui/item_list.h index a4909205ef..aa6dd64c50 100644 --- a/scene/gui/item_list.h +++ b/scene/gui/item_list.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* item_list.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef ITEMLIST_H #define ITEMLIST_H diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index ab556ede0c..52ef57cf1c 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -32,6 +32,11 @@ #include "print_string.h" #include "label.h" +static bool _is_text_char(CharType c) { + + return (c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9') || c=='_'; +} + void LineEdit::_input_event(InputEvent p_event) { @@ -54,26 +59,36 @@ void LineEdit::_input_event(InputEvent p_event) { if (b.pressed) { + shift_selection_check_pre(b.mod.shift); + set_cursor_at_pixel_pos(b.x); - if (b.doubleclick) { + if (b.mod.shift) { - selection.enabled=true; - selection.begin=0; - selection.end=text.length(); - selection.doubleclick=true; - } + selection_fill_at_cursor(); + selection.creating=true; - selection.drag_attempt=false; + } else { - if ((cursor_pos<selection.begin) || (cursor_pos>selection.end) || !selection.enabled) { + if (b.doubleclick) { - selection_clear(); - selection.cursor_start=cursor_pos; - selection.creating=true; - } else if (selection.enabled) { + selection.enabled=true; + selection.begin=0; + selection.end=text.length(); + selection.doubleclick=true; + } + + selection.drag_attempt=false; + + if ((cursor_pos<selection.begin) || (cursor_pos>selection.end) || !selection.enabled) { + + selection_clear(); + selection.cursor_start=cursor_pos; + selection.creating=true; + } else if (selection.enabled) { - selection.drag_attempt=true; + selection.drag_attempt=true; + } } // if (!editable) @@ -124,7 +139,7 @@ void LineEdit::_input_event(InputEvent p_event) { case (KEY_X): { // CUT - if(k.mod.command && editable) { + if(editable) { cut_text(); } @@ -132,15 +147,13 @@ void LineEdit::_input_event(InputEvent p_event) { case (KEY_C): { // COPY - if(k.mod.command) { - copy_text(); - } + copy_text(); } break; case (KEY_V): { // PASTE - if(k.mod.command && editable) { + if(editable) { paste_text(); } @@ -149,7 +162,7 @@ void LineEdit::_input_event(InputEvent p_event) { case (KEY_Z): { // Simple One level undo - if( k.mod.command && editable) { + if(editable) { undo(); @@ -160,7 +173,7 @@ void LineEdit::_input_event(InputEvent p_event) { case (KEY_U): { // Delete from start to cursor - if( k.mod.command && editable) { + if(editable) { selection_clear(); undo_text = text; @@ -184,7 +197,7 @@ void LineEdit::_input_event(InputEvent p_event) { case (KEY_Y): { // PASTE (Yank for unix users) - if(k.mod.command && editable) { + if(editable) { paste_text(); } @@ -192,7 +205,7 @@ void LineEdit::_input_event(InputEvent p_event) { } break; case (KEY_K): { // Delete from cursor_pos to end - if(k.mod.command && editable) { + if(editable) { selection_clear(); undo_text = text; @@ -215,7 +228,7 @@ void LineEdit::_input_event(InputEvent p_event) { } - if (!k.mod.alt && !k.mod.meta && !k.mod.command) { + if (!k.mod.meta) { bool handled=true; switch (code) { @@ -232,13 +245,45 @@ void LineEdit::_input_event(InputEvent p_event) { case KEY_BACKSPACE: { - if (editable) { - undo_text = text; - if (selection.enabled) - selection_delete(); - else - delete_char(); + if (!editable) + break; + + if (selection.enabled) { + undo_text=text; + selection_delete(); + break; + } + +#ifdef APPLE_STYLE_KEYS + if (k.mod.alt) { +#else + if (k.mod.alt) { + handled=false; + break; + } else if (k.mod.command) { +#endif + int cc=cursor_pos; + bool prev_char=false; + + while (cc>0) { + bool ischar=_is_text_char(text[cc-1]); + + if (prev_char && !ischar) + break; + + prev_char=ischar; + cc--; + } + + delete_text(cc, cursor_pos); + + set_cursor_pos(cc); + + } else { + undo_text=text; + delete_char(); } + } break; case KEY_KP_4: { if (k.unicode != 0) { @@ -248,8 +293,39 @@ void LineEdit::_input_event(InputEvent p_event) { // numlock disabled. fallthrough to key_left } case KEY_LEFT: { + shift_selection_check_pre(k.mod.shift); - set_cursor_pos(get_cursor_pos()-1); + +#ifdef APPLE_STYLE_KEYS + if (k.mod.command) { + set_cursor_pos(0); + } else if (k.mod.alt) { + +#else + if (k.mod.alt) { + handled=false; + break; + } else if (k.mod.command) { +#endif + bool prev_char=false; + int cc=cursor_pos; + + while (cc>0) { + bool ischar=_is_text_char(text[cc-1]); + + if (prev_char && !ischar) + break; + + prev_char=ischar; + cc--; + } + + set_cursor_pos(cc); + + } else { + set_cursor_pos(get_cursor_pos()-1); + } + shift_selection_check_post(k.mod.shift); } break; @@ -263,25 +339,88 @@ void LineEdit::_input_event(InputEvent p_event) { case KEY_RIGHT: { shift_selection_check_pre(k.mod.shift); - set_cursor_pos(get_cursor_pos()+1); + +#ifdef APPLE_STYLE_KEYS + if (k.mod.command) { + set_cursor_pos(text.length()); + } else if (k.mod.alt) { +#else + if (k.mod.alt) { + handled=false; + break; + } else if (k.mod.command) { +#endif + bool prev_char=false; + int cc=cursor_pos; + + while (cc<text.length()) { + bool ischar=_is_text_char(text[cc]); + + if (prev_char && !ischar) + break; + + prev_char=ischar; + cc++; + } + + set_cursor_pos(cc); + + } else { + set_cursor_pos(get_cursor_pos()+1); + } + shift_selection_check_post(k.mod.shift); + } break; case KEY_DELETE: { - if (k.mod.shift && !k.mod.command && !k.mod.alt && editable) { + if (!editable) + break; + + if (k.mod.shift && !k.mod.command && !k.mod.alt) { cut_text(); break; } - if (editable) { - undo_text = text; - if (selection.enabled) - selection_delete(); - else if (cursor_pos<text.length()) { + if (selection.enabled) { + undo_text=text; + selection_delete(); + break; + } + + int text_len = text.length(); + + if (cursor_pos==text_len) + break; // nothing to do + +#ifdef APPLE_STYLE_KEYS + if (k.mod.alt) { +#else + if (k.mod.alt) { + handled=false; + break; + } else if (k.mod.command) { +#endif + int cc=cursor_pos; + + bool prev_char=false; + + while (cc<text.length()) { - set_cursor_pos(get_cursor_pos()+1); - delete_char(); + bool ischar=_is_text_char(text[cc]); + + if (prev_char && !ischar) + break; + prev_char=ischar; + cc++; } + + delete_text(cursor_pos,cc); + + } else { + undo_text=text; + set_cursor_pos(cursor_pos+1); + delete_char(); } } break; @@ -339,8 +478,6 @@ void LineEdit::_input_event(InputEvent p_event) { } } - - selection.old_shift=k.mod.shift; update(); } @@ -577,7 +714,7 @@ void LineEdit::undo() { void LineEdit::shift_selection_check_pre(bool p_shift) { - if (!selection.old_shift && p_shift) { + if (!selection.enabled && p_shift) { selection.cursor_start=cursor_pos; } if (!p_shift) @@ -673,6 +810,39 @@ void LineEdit::delete_char() { _change_notify("text"); } +void LineEdit::delete_text(int p_from_column, int p_to_column) { + + undo_text = text; + + if (text.size() > 0) + { + Ref<Font> font = get_font("font"); + if (font != NULL) { + for (int i = p_from_column; i < p_to_column; i++) + cached_width -= font->get_char_size(text[i]).width; + } + } + else + { + cached_width = 0; + } + + text.erase(p_from_column,p_to_column-p_from_column); + cursor_pos-=CLAMP( cursor_pos-p_from_column, 0, p_to_column-p_from_column); + + if (cursor_pos>=text.length()) { + + cursor_pos=text.length(); + } + if (window_pos>cursor_pos) { + + window_pos=cursor_pos; + } + + emit_signal("text_changed",text); + _change_notify("text"); +} + void LineEdit::set_text(String p_text) { clear_internal(); @@ -820,46 +990,14 @@ void LineEdit::selection_clear() { selection.cursor_start=0; selection.enabled=false; selection.creating=false; - selection.old_shift=false; selection.doubleclick=false; update(); } - void LineEdit::selection_delete() { - if (selection.enabled) { - - undo_text = text; - - if (text.size() > 0) - { - Ref<Font> font = get_font("font"); - if (font != NULL) { - for (int i = selection.begin; i < selection.end; i++) - cached_width -= font->get_char_size(text[i]).width; - } - } - else - { - cached_width = 0; - } - - text.erase(selection.begin,selection.end-selection.begin); - cursor_pos-=CLAMP( cursor_pos-selection.begin, 0, selection.end-selection.begin); - - if (cursor_pos>=text.length()) { - - cursor_pos=text.length(); - } - if (window_pos>cursor_pos) { - - window_pos=cursor_pos; - } - - emit_signal("text_changed",text); - _change_notify("text"); - }; + if (selection.enabled) + delete_text(selection.begin,selection.end); selection_clear(); } @@ -946,7 +1084,6 @@ void LineEdit::select(int p_from, int p_to) { selection.begin=p_from; selection.end=p_to; selection.creating=false; - selection.old_shift=false; selection.doubleclick=false; update(); } diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h index 586a54e950..ce3958db02 100644 --- a/scene/gui/line_edit.h +++ b/scene/gui/line_edit.h @@ -83,7 +83,6 @@ private: int cursor_start; bool enabled; bool creating; - bool old_shift; bool doubleclick; bool drag_attempt; } selection; @@ -123,6 +122,7 @@ public: void select_all(); void delete_char(); + void delete_text(int p_from_column, int p_to_column); void set_text(String p_text); String get_text() const; void set_cursor_pos(int p_pos); diff --git a/scene/gui/link_button.cpp b/scene/gui/link_button.cpp index 065423ae2d..62829fd5a4 100644 --- a/scene/gui/link_button.cpp +++ b/scene/gui/link_button.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* link_button.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "link_button.h" diff --git a/scene/gui/link_button.h b/scene/gui/link_button.h index d218482337..9978f66cc0 100644 --- a/scene/gui/link_button.h +++ b/scene/gui/link_button.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* link_button.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef LINKBUTTON_H #define LINKBUTTON_H diff --git a/scene/gui/patch_9_frame.cpp b/scene/gui/patch_9_frame.cpp index 3ecee7328b..a6a3490ad2 100644 --- a/scene/gui/patch_9_frame.cpp +++ b/scene/gui/patch_9_frame.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* patch_9_frame.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "patch_9_frame.h" #include "servers/visual_server.h" diff --git a/scene/gui/patch_9_frame.h b/scene/gui/patch_9_frame.h index 52e2324c3d..7763db567a 100644 --- a/scene/gui/patch_9_frame.h +++ b/scene/gui/patch_9_frame.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* patch_9_frame.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PATCH_9_FRAME_H #define PATCH_9_FRAME_H diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index d19e5f0d60..5eb579f1d2 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -412,8 +412,9 @@ void TabContainer::_notification(int p_what) { } break; case NOTIFICATION_THEME_CHANGED: { - - call_deferred("set_current_tab",get_current_tab()); //wait until all changed theme + if (get_tab_count() > 0) { + call_deferred("set_current_tab",get_current_tab()); //wait until all changed theme + } } break; } } @@ -704,13 +705,13 @@ Size2 TabContainer::get_minimum_size() const { if (c->is_set_as_toplevel()) continue; - if (!c->has_meta("_tab_name")) - continue; + //if (!c->has_meta("_tab_name")) + // continue; if (!c->is_visible()) continue; - Size2 cms = c->get_minimum_size(); + Size2 cms = c->get_combined_minimum_size(); ms.x=MAX(ms.x,cms.x); ms.y=MAX(ms.y,cms.y); } @@ -722,6 +723,9 @@ Size2 TabContainer::get_minimum_size() const { ms.y+=MAX(tab_bg->get_minimum_size().y,tab_fg->get_minimum_size().y); ms.y+=font->get_height(); + Ref<StyleBox> sb = get_stylebox("panel"); + ms+=sb->get_minimum_size(); + return ms; } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 49d7527786..5e18da32aa 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -417,8 +417,22 @@ void TextEdit::_notification(int p_what) { _update_caches(); } break; + case MainLoop::NOTIFICATION_WM_FOCUS_IN: { + window_has_focus = true; + draw_caret = true; + update(); + } break; + case MainLoop::NOTIFICATION_WM_FOCUS_OUT: { + window_has_focus = false; + draw_caret = false; + update(); + } break; case NOTIFICATION_DRAW: { + if ((!has_focus() && !menu->has_focus()) || !window_has_focus) { + draw_caret = false; + } + if (draw_breakpoint_gutter) { breakpoint_gutter_width = (get_row_height() * 55) / 100; cache.breakpoint_gutter_width = breakpoint_gutter_width; @@ -1195,6 +1209,9 @@ void TextEdit::_notification(int p_what) { } break; case NOTIFICATION_FOCUS_ENTER: { + if (!caret_blink_enabled) { + draw_caret = true; + } if (OS::get_singleton()->has_virtual_keyboard()) OS::get_singleton()->show_virtual_keyboard(get_text(),get_global_rect()); @@ -1452,10 +1469,10 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { } if (mb.pressed) { - if (mb.button_index==BUTTON_WHEEL_UP) { + if (mb.button_index==BUTTON_WHEEL_UP && !mb.mod.command) { v_scroll->set_val( v_scroll->get_val() -3 ); } - if (mb.button_index==BUTTON_WHEEL_DOWN) { + if (mb.button_index==BUTTON_WHEEL_DOWN && !mb.mod.command) { v_scroll->set_val( v_scroll->get_val() +3 ); } if (mb.button_index==BUTTON_WHEEL_LEFT) { @@ -3837,8 +3854,14 @@ void TextEdit::undo() { } } - cursor_set_line(undo_stack_pos->get().from_line); - cursor_set_column(undo_stack_pos->get().from_column); + if (undo_stack_pos->get().type == TextOperation::TYPE_REMOVE) { + cursor_set_line(undo_stack_pos->get().to_line); + cursor_set_column(undo_stack_pos->get().to_column); + _cancel_code_hint(); + } else { + cursor_set_line(undo_stack_pos->get().from_line); + cursor_set_column(undo_stack_pos->get().from_column); + } update(); } @@ -3981,28 +4004,19 @@ void TextEdit::set_completion(bool p_enabled,const Vector<String>& p_prefixes) { void TextEdit::_confirm_completion() { - String remaining=completion_current.substr(completion_base.length(),completion_current.length()-completion_base.length()); - String l = text[cursor.line]; - bool same=true; - //if what is going to be inserted is the same as what it is, don't change it - for(int i=0;i<remaining.length();i++) { - int c=i+cursor.column; - if (c>=l.length() || l[c]!=remaining[i]) { - same=false; - break; - } - } + begin_complex_operation(); - if (same) - cursor_set_column(cursor.column+remaining.length()); - else { - insert_text_at_cursor(remaining); - if (remaining.ends_with("(") && auto_brace_completion_enabled) { - insert_text_at_cursor(")"); - cursor.column--; - } + _remove_text(cursor.line, cursor.column - completion_base.length(), cursor.line, cursor.column); + cursor_set_column(cursor.column - completion_base.length(), false); + insert_text_at_cursor(completion_current); + + if (completion_current.ends_with("(") && auto_brace_completion_enabled) { + insert_text_at_cursor(")"); + cursor.column--; } + end_complex_operation(); + _cancel_completion(); } @@ -4105,30 +4119,29 @@ void TextEdit::_update_completion_candidates() { completion_index=0; completion_base=s; int ci_match=0; + Vector<float> sim_cache; for(int i=0;i<completion_strings.size();i++) { - if (completion_strings[i].begins_with(s)) { + if (s.is_subsequence_ofi(completion_strings[i])) { // don't remove duplicates if no input is provided - if (completion_options.find(completion_strings[i]) != -1 && s != "") { + if (s != "" && completion_options.find(completion_strings[i]) != -1) { continue; } - completion_options.push_back(completion_strings[i]); - int m=0; - int max=MIN(completion_current.length(),completion_strings[i].length()); - if (max<ci_match) - continue; - for(int j=0;j<max;j++) { - - if (j>=completion_strings[i].length()) - break; - if (completion_current[j]!=completion_strings[i][j]) - break; - m++; - } - if (m>ci_match) { - ci_match=m; - completion_index=completion_options.size()-1; + // Calculate the similarity to keep completions in good order + float similarity = s.similarity(completion_strings[i]); + int comp_size = completion_options.size(); + if (comp_size == 0) { + completion_options.push_back(completion_strings[i]); + sim_cache.push_back(similarity); + } else { + float comp_sim; + int pos = 0; + do { + comp_sim = sim_cache[pos++]; + } while(pos < comp_size && similarity <= comp_sim); + pos--; // Pos will be off by one + completion_options.insert(pos, completion_strings[i]); + sim_cache.insert(pos, similarity); } - } } @@ -4141,7 +4154,8 @@ void TextEdit::_update_completion_candidates() { } - completion_current=completion_options[completion_index]; + // The top of the list is the best match + completion_current=completion_options[0]; #if 0 // even there's only one option, user still get the chance to choose using it or not if (completion_options.size()==1) { @@ -4153,8 +4167,6 @@ void TextEdit::_update_completion_candidates() { } #endif - if (completion_options.size()==1 && s==completion_options[0]) - _cancel_completion(); completion_enabled=true; } @@ -4518,6 +4530,7 @@ TextEdit::TextEdit() { brace_matching_enabled=false; auto_indent=false; insert_mode = false; + window_has_focus=true; menu = memnew( PopupMenu ); add_child(menu); diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index 22f024c491..f01e6de1c9 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -217,6 +217,7 @@ class TextEdit : public Control { Timer *caret_blink_timer; bool caret_blink_enabled; bool draw_caret; + bool window_has_focus; bool setting_row; bool wrap; diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 08fe847a33..f8516f8f5d 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -811,6 +811,8 @@ void Tree::update_cache() { cache.item_margin=get_constant("item_margin"); cache.button_margin=get_constant("button_margin"); cache.guide_width=get_constant("guide_width"); + cache.draw_relationship_lines=get_constant("draw_relationship_lines"); + cache.relationship_line_color=get_color("relationship_line_color"); cache.title_button = get_stylebox("title_button_normal"); cache.title_button_pressed = get_stylebox("title_button_pressed"); @@ -1295,9 +1297,21 @@ int Tree::draw_item(const Point2i& p_pos,const Point2& p_draw_ofs, const Size2& while (c) { + if (cache.draw_relationship_lines == 1){ + int root_ofs = children_pos.x + (hide_folding?cache.hseparation:cache.item_margin); + int parent_ofs = p_pos.x + (hide_folding?cache.hseparation:cache.item_margin); + Point2i root_pos = Point2i(root_ofs, children_pos.y + label_h/2)-cache.offset+p_draw_ofs; + if (c->get_children() > 0) + root_pos -= Point2i(cache.arrow->get_width(),0); + + Point2i parent_pos = Point2i(parent_ofs - cache.arrow->get_width()/2, p_pos.y + label_h/2 + cache.arrow->get_height()/2)-cache.offset+p_draw_ofs; + VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x, root_pos.y), cache.relationship_line_color); + VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color); + } + int child_h=draw_item(children_pos, p_draw_ofs, p_draw_size, c ); - if (child_h<0) + if (child_h<0 && cache.draw_relationship_lines == 0) return -1; // break, stop drawing, no need to anymore htotal+=child_h; @@ -3674,4 +3688,3 @@ Tree::~Tree() { } } - diff --git a/scene/gui/tree.h b/scene/gui/tree.h index 1dad26dffe..0172546c1d 100644 --- a/scene/gui/tree.h +++ b/scene/gui/tree.h @@ -377,6 +377,7 @@ friend class TreeItem; Color font_color_selected; Color guide_color; Color drop_position_color; + Color relationship_line_color; int hseparation; int vseparation; @@ -384,6 +385,7 @@ friend class TreeItem; int guide_width; int button_margin; Point2 offset; + int draw_relationship_lines; enum ClickType { CLICK_NONE, @@ -532,4 +534,3 @@ public: VARIANT_ENUM_CAST( Tree::SelectMode ); #endif - diff --git a/scene/gui/video_player.cpp b/scene/gui/video_player.cpp index 26227d6389..e9ff76bd91 100644 --- a/scene/gui/video_player.cpp +++ b/scene/gui/video_player.cpp @@ -208,10 +208,17 @@ void VideoPlayer::set_stream(const Ref<VideoStream> &p_stream) { playback->set_paused(paused); texture=playback->get_texture(); + const int channels = playback->get_channels(); + AudioServer::get_singleton()->lock(); - resampler.setup(playback->get_channels(),playback->get_mix_rate(),server_mix_rate,buffering_ms,0); + if (channels > 0) + resampler.setup(channels,playback->get_mix_rate(),server_mix_rate,buffering_ms,0); + else + resampler.clear(); AudioServer::get_singleton()->unlock(); - playback->set_mix_callback(_audio_mix_callback,this); + + if (channels > 0) + playback->set_mix_callback(_audio_mix_callback,this); } else { texture.unref(); diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp index be0d0c012d..040d509286 100644 --- a/scene/main/http_request.cpp +++ b/scene/main/http_request.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* http_request.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "http_request.h" void HTTPRequest::_redirect_request(const String& p_new_url) { diff --git a/scene/main/http_request.h b/scene/main/http_request.h index 7659d9e6d6..7c3ccb2eb9 100644 --- a/scene/main/http_request.h +++ b/scene/main/http_request.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* http_request.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef HTTPREQUEST_H #define HTTPREQUEST_H diff --git a/scene/main/instance_placeholder.cpp b/scene/main/instance_placeholder.cpp index f822107918..fb047ea5e4 100644 --- a/scene/main/instance_placeholder.cpp +++ b/scene/main/instance_placeholder.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* instance_placeholder.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "instance_placeholder.h" #include "scene/resources/packed_scene.h" diff --git a/scene/main/instance_placeholder.h b/scene/main/instance_placeholder.h index 9c47655ce7..ef76686196 100644 --- a/scene/main/instance_placeholder.h +++ b/scene/main/instance_placeholder.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* instance_placeholder.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef INSTANCE_PLACEHOLDER_H #define INSTANCE_PLACEHOLDER_H diff --git a/scene/main/misc.cpp b/scene/main/misc.cpp deleted file mode 100644 index 35d8b4cdfb..0000000000 --- a/scene/main/misc.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/*************************************************************************/ -/* misc.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "misc.h" - -Misc::Misc() -{ -} - - -Misc::~Misc() -{ -} - - diff --git a/scene/main/misc.h b/scene/main/misc.h deleted file mode 100644 index d5db8c3247..0000000000 --- a/scene/main/misc.h +++ /dev/null @@ -1,45 +0,0 @@ -/*************************************************************************/ -/* misc.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef MISC_H -#define MISC_H - -#include "scene/main/node.h" -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ -class Misc : public Node { - - OBJ_TYPE( Misc, Node ); -public: - Misc(); - ~Misc(); - -}; - -#endif diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 50b0fe224e..11b400d4a9 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -2081,6 +2081,10 @@ void Node::update_configuration_warning() { } +bool Node::is_owned_by_parent() const { + return data.parent_owned; +} + void Node::_bind_methods() { ObjectTypeDB::bind_method(_MD("_add_child_below_node","node:Node","child_node:Node","legible_unique_name"),&Node::add_child_below_node,DEFVAL(false)); diff --git a/scene/main/node.h b/scene/main/node.h index a3b8d8de81..88334f32f0 100644 --- a/scene/main/node.h +++ b/scene/main/node.h @@ -313,6 +313,8 @@ public: NodePath get_import_path() const; #endif + bool is_owned_by_parent() const; + void get_argument_options(const StringName& p_function,int p_idx,List<String>*r_options) const; void clear_internal_tree_resource_paths(); diff --git a/scene/main/scene_main_loop.h b/scene/main/scene_main_loop.h index 15604a3460..38d13c0447 100644 --- a/scene/main/scene_main_loop.h +++ b/scene/main/scene_main_loop.h @@ -33,7 +33,6 @@ #include "os/main_loop.h" #include "scene/resources/world.h" #include "scene/resources/world_2d.h" -#include "scene/main/scene_singleton.h" #include "os/thread_safe.h" #include "self_list.h" /** diff --git a/scene/main/scene_singleton.cpp b/scene/main/scene_singleton.cpp deleted file mode 100644 index 3dcc6b1204..0000000000 --- a/scene/main/scene_singleton.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* scene_singleton.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "scene_singleton.h" - diff --git a/scene/main/scene_singleton.h b/scene/main/scene_singleton.h deleted file mode 100644 index 0b209f7944..0000000000 --- a/scene/main/scene_singleton.h +++ /dev/null @@ -1,36 +0,0 @@ -/*************************************************************************/ -/* scene_singleton.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef SCENE_SINGLETON_H -#define SCENE_SINGLETON_H - - -#include "reference.h" - - -#endif // SCENE_SINGLETON_H diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 79502c74ce..a1df7062ea 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1574,6 +1574,14 @@ void Viewport::_gui_call_input(Control *p_control,const InputEvent& p_input) { // _block(); + + //mouse wheel events can't be stopped + bool cant_stop_me_now = (p_input.type==InputEvent::MOUSE_BUTTON && + (p_input.mouse_button.button_index==BUTTON_WHEEL_DOWN || + p_input.mouse_button.button_index==BUTTON_WHEEL_UP || + p_input.mouse_button.button_index==BUTTON_WHEEL_LEFT || + p_input.mouse_button.button_index==BUTTON_WHEEL_RIGHT ) ); + CanvasItem *ci=p_control; while(ci) { @@ -1589,7 +1597,7 @@ void Viewport::_gui_call_input(Control *p_control,const InputEvent& p_input) { break; if (gui.key_event_accepted) break; - if (control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION)) + if (!cant_stop_me_now && control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION)) break; } @@ -1836,8 +1844,9 @@ void Viewport::_gui_input_event(InputEvent p_event) { Size2 pos = mpos; pos = gui.focus_inv_xform.xform(pos); - - gui.mouse_over->drop_data(pos,gui.drag_data); + if (gui.mouse_over->can_drop_data(pos,gui.drag_data)) { + gui.mouse_over->drop_data(pos,gui.drag_data); + } gui.drag_data=Variant(); _propagate_viewport_notification(this,NOTIFICATION_DRAG_END); //change mouse accordingly @@ -2360,8 +2369,8 @@ void Viewport::input(const InputEvent& p_event) { ERR_FAIL_COND(!is_inside_tree()); - get_tree()->_call_input_pause(input_group,"_input",p_event); _gui_input_event(p_event); + get_tree()->_call_input_pause(input_group,"_input",p_event); //get_tree()->call_group(SceneTree::GROUP_CALL_REVERSE|SceneTree::GROUP_CALL_REALTIME|SceneTree::GROUP_CALL_MULIILEVEL,gui_input_group,"_gui_input",p_event); //special one for GUI, as controls use their own process check } diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp index 54b4ddca9e..c83ab88c73 100644 --- a/scene/register_scene_types.cpp +++ b/scene/register_scene_types.cpp @@ -172,7 +172,6 @@ #include "scene/resources/world.h" #include "scene/resources/world_2d.h" -#include "scene/resources/volume.h" #include "scene/resources/sample_library.h" #include "scene/resources/audio_stream.h" @@ -271,7 +270,28 @@ void register_scene_types() { resource_loader_shader = memnew( ResourceFormatLoaderShader ); ResourceLoader::add_resource_format_loader( resource_loader_shader ); - make_default_theme(); + bool default_theme_hidpi=GLOBAL_DEF("display/use_hidpi_theme",false); + Globals::get_singleton()->set_custom_property_info("display/use_hidpi_theme",PropertyInfo(Variant::BOOL,"display/use_hidpi_theme",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED)); + String theme_path = GLOBAL_DEF("display/custom_theme",""); + Globals::get_singleton()->set_custom_property_info("display/custom_theme",PropertyInfo(Variant::STRING,"display/custom_theme",PROPERTY_HINT_FILE,"*.tres,*.res",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED)); + String font_path = GLOBAL_DEF("display/custom_theme_font",""); + Globals::get_singleton()->set_custom_property_info("display/custom_theme_font",PropertyInfo(Variant::STRING,"display/custom_theme_font",PROPERTY_HINT_FILE,"*.tres,*.res,*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED)); + + + if (theme_path!=String()) { + Ref<Theme> theme = ResourceLoader::load(theme_path); + if (theme.is_valid()) { + Theme::set_default(theme); + } + } else { + + Ref<Font> font; + if (font_path!=String()) { + font=ResourceLoader::load(font_path); + } + make_default_theme(default_theme_hidpi,font); + } + OS::get_singleton()->yield(); //may take time to init @@ -455,31 +475,10 @@ void register_scene_types() { AcceptDialog::set_swap_ok_cancel( GLOBAL_DEF("display/swap_ok_cancel",bool(OS::get_singleton()->get_swap_ok_cancel())) ); ObjectTypeDB::register_type<SamplePlayer>(); - - -// ObjectTypeDB::register_type<StaticBody>(); -// ObjectTypeDB::register_type<RigidBody>(); -// ObjectTypeDB::register_type<CharacterBody>(); -// ObjectTypeDB::register_type<BodyVolumeSphere>(); - //ObjectTypeDB::register_type<BodyVolumeBox>(); - //ObjectTypeDB::register_type<BodyVolumeCylinder>(); - //ObjectTypeDB::register_type<BodyVolumeCapsule>(); - //ObjectTypeDB::register_type<PhysicsJointPin>(); - - - - ObjectTypeDB::register_type<StreamPlayer>(); ObjectTypeDB::register_type<EventPlayer>(); - /* disable types by default, only editors should enable them */ - //ObjectTypeDB::set_type_enabled("BodyVolumeSphere",false); - //ObjectTypeDB::set_type_enabled("BodyVolumeBox",false); - //ObjectTypeDB::set_type_enabled("BodyVolumeCapsule",false); - //ObjectTypeDB::set_type_enabled("BodyVolumeCylinder",false); - //ObjectTypeDB::set_type_enabled("BodyVolumeConvexPolygon",false); - ObjectTypeDB::register_type<CanvasItemMaterial>(); ObjectTypeDB::register_virtual_type<CanvasItem>(); ObjectTypeDB::register_type<Node2D>(); @@ -600,11 +599,11 @@ void register_scene_types() { OS::get_singleton()->yield(); //may take time to init - //ObjectTypeDB::register_type<Volume>(); ObjectTypeDB::register_type<Sample>(); ObjectTypeDB::register_type<SampleLibrary>(); ObjectTypeDB::register_virtual_type<AudioStream>(); ObjectTypeDB::register_virtual_type<AudioStreamPlayback>(); +//TODO: Adapt to the new AudioStream API or drop (GH-3307) // ObjectTypeDB::register_type<AudioStreamGibberish>(); ObjectTypeDB::register_virtual_type<VideoStream>(); diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp index f7d5ddc744..8be39e3021 100644 --- a/scene/resources/animation.cpp +++ b/scene/resources/animation.cpp @@ -38,6 +38,8 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) { set_length(p_value); else if (name=="loop") set_loop(p_value); + else if (name=="loop_interpolation") + set_loop_interpolation(p_value); else if (name=="step") set_step(p_value); else if (name.begins_with("tracks/")) { @@ -72,6 +74,8 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) { track_set_path(track,p_value); else if (what=="interp") track_set_interpolation_type(track,InterpolationType(p_value.operator int())); + else if (what=="imported") + track_set_imported(track,p_value); else if (what == "keys" || what=="key_values") { if (track_get_type(track)==TYPE_TRANSFORM) { @@ -154,8 +158,21 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) { Dictionary d = p_value; ERR_FAIL_COND_V(!d.has("times"),false); ERR_FAIL_COND_V(!d.has("values"),false); - if (d.has("cont")) - vt->continuous=d["cont"]; + if (d.has("cont")) { + bool v = d["cont"]; + vt->update_mode=v?UPDATE_CONTINUOUS:UPDATE_DISCRETE; + } + + if (d.has("update")) { + int um =d["update"]; + if (um<0) + um=0; + else if (um>2) + um=2; + vt->update_mode=UpdateMode(um); + } + + DVector<float> times=d["times"]; Array values=d["values"]; @@ -253,6 +270,8 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const { r_ret= length; else if (name=="loop") r_ret= loop; + else if (name=="loop_interpolation") + r_ret= loop_interpolation; else if (name=="step") r_ret= step; else if (name.begins_with("tracks/")) { @@ -276,6 +295,8 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const { r_ret=track_get_path(track); else if (what=="interp") r_ret = track_get_interpolation_type(track); + else if (what=="imported") + r_ret = track_is_imported(track); else if (what=="keys") { if (track_get_type(track)==TYPE_TRANSFORM) { @@ -353,7 +374,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const { d["transitions"]=key_transitions; d["values"]=key_values; if (track_get_type(track)==TYPE_VALUE) { - d["cont"]=value_track_is_continuous(track); + d["update"]=value_track_get_update_mode(track); } r_ret=d; @@ -394,7 +415,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const { d["transitions"]=key_transitions; d["values"]=key_values; if (track_get_type(track)==TYPE_VALUE) { - d["cont"]=value_track_is_continuous(track); + d["update"]=value_track_get_update_mode(track); } r_ret=d; @@ -416,6 +437,7 @@ void Animation::_get_property_list( List<PropertyInfo> *p_list) const { p_list->push_back( PropertyInfo( Variant::REAL, "length", PROPERTY_HINT_RANGE, "0.001,99999,0.001")); p_list->push_back( PropertyInfo( Variant::BOOL, "loop" )); + p_list->push_back( PropertyInfo( Variant::BOOL, "loop_interpolation")); p_list->push_back( PropertyInfo( Variant::REAL, "step", PROPERTY_HINT_RANGE, "0,4096,0.001" )); for (int i=0;i<tracks.size();i++) { @@ -423,6 +445,7 @@ void Animation::_get_property_list( List<PropertyInfo> *p_list) const { p_list->push_back( PropertyInfo( Variant::STRING, "tracks/"+itos(i)+"/type", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) ); p_list->push_back( PropertyInfo( Variant::NODE_PATH, "tracks/"+itos(i)+"/path", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) ); p_list->push_back( PropertyInfo( Variant::INT, "tracks/"+itos(i)+"/interp", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) ); + p_list->push_back( PropertyInfo( Variant::BOOL, "tracks/"+itos(i)+"/imported", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) ); p_list->push_back( PropertyInfo( Variant::ARRAY, "tracks/"+itos(i)+"/keys", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) ); } } @@ -1221,7 +1244,7 @@ T Animation::_interpolate( const Vector< TKey<T> >& p_keys, float p_time, Inter float c=0; // prepare for all cases of interpolation - if (loop) { + if (loop && loop_interpolation) { // loop if (idx>=0) { @@ -1373,7 +1396,7 @@ Variant Animation::value_track_interpolate(int p_track, float p_time) const { bool ok; - Variant res = _interpolate( vt->values, p_time, vt->interpolation, &ok ); + Variant res = _interpolate( vt->values, p_time, vt->update_mode==UPDATE_CONTINUOUS?vt->interpolation:INTERPOLATION_NEAREST, &ok ); if (ok) { @@ -1461,28 +1484,30 @@ void Animation::value_track_get_key_indices(int p_track, float p_time, float p_d } -void Animation::value_track_set_continuous(int p_track, bool p_continuous) { +void Animation::value_track_set_update_mode(int p_track, UpdateMode p_mode) { ERR_FAIL_INDEX(p_track, tracks.size()); Track *t=tracks[p_track]; ERR_FAIL_COND( t->type != TYPE_VALUE ); + ERR_FAIL_INDEX(p_mode,3); ValueTrack * vt = static_cast<ValueTrack*>(t); - vt->continuous=p_continuous; + vt->update_mode=p_mode; } -bool Animation::value_track_is_continuous(int p_track) const{ +Animation::UpdateMode Animation::value_track_get_update_mode(int p_track) const { - ERR_FAIL_INDEX_V(p_track, tracks.size(), false); + ERR_FAIL_INDEX_V(p_track, tracks.size(), UPDATE_CONTINUOUS); Track *t=tracks[p_track]; - ERR_FAIL_COND_V( t->type != TYPE_VALUE, false ); + ERR_FAIL_COND_V( t->type != TYPE_VALUE, UPDATE_CONTINUOUS ); ValueTrack * vt = static_cast<ValueTrack*>(t); - return vt->continuous; + return vt->update_mode; } + void Animation::_method_track_get_key_indices_in_range(const MethodTrack * mt, float from_time, float to_time,List<int> *p_indices) const { if (from_time!=length && to_time==length) @@ -1607,10 +1632,19 @@ void Animation::set_loop(bool p_enabled) { loop=p_enabled; emit_changed(); } +void Animation::set_loop_interpolation(bool p_enabled) { + + loop_interpolation=p_enabled; + emit_changed(); +} bool Animation::has_loop() const { return loop; } +bool Animation::has_loop_interpolation() const { + + return loop_interpolation; +} void Animation::track_move_up(int p_track) { @@ -1623,6 +1657,20 @@ void Animation::track_move_up(int p_track) { emit_changed(); } +void Animation::track_set_imported(int p_track,bool p_imported) { + + ERR_FAIL_INDEX(p_track,tracks.size()); + tracks[p_track]->imported=p_imported; +} + +bool Animation::track_is_imported(int p_track) const{ + + ERR_FAIL_INDEX_V(p_track,tracks.size(),false); + return tracks[p_track]->imported; + +} + + void Animation::track_move_down(int p_track) { if (p_track>0 && p_track<tracks.size()) { @@ -1657,6 +1705,10 @@ void Animation::_bind_methods() { ObjectTypeDB::bind_method(_MD("track_move_up","idx"),&Animation::track_move_up); ObjectTypeDB::bind_method(_MD("track_move_down","idx"),&Animation::track_move_down); + ObjectTypeDB::bind_method(_MD("track_set_imported","idx","imported"),&Animation::track_set_imported); + ObjectTypeDB::bind_method(_MD("track_is_imported","idx"),&Animation::track_is_imported); + + ObjectTypeDB::bind_method(_MD("transform_track_insert_key","idx","time","loc","rot","scale"),&Animation::transform_track_insert_key); ObjectTypeDB::bind_method(_MD("track_insert_key","idx","time","key","transition"),&Animation::track_insert_key,DEFVAL(1)); ObjectTypeDB::bind_method(_MD("track_remove_key","idx","key_idx"),&Animation::track_remove_key); @@ -1676,8 +1728,8 @@ void Animation::_bind_methods() { ObjectTypeDB::bind_method(_MD("transform_track_interpolate","idx","time_sec"),&Animation::_transform_track_interpolate); - ObjectTypeDB::bind_method(_MD("value_track_set_continuous","idx","continuous"),&Animation::value_track_set_continuous); - ObjectTypeDB::bind_method(_MD("value_track_is_continuous","idx"),&Animation::value_track_is_continuous); + ObjectTypeDB::bind_method(_MD("value_track_set_update_mode","idx","mode"),&Animation::value_track_set_update_mode); + ObjectTypeDB::bind_method(_MD("value_track_get_update_mode","idx"),&Animation::value_track_get_update_mode); ObjectTypeDB::bind_method(_MD("value_track_get_key_indices","idx","time_sec","delta"),&Animation::_value_track_get_key_indices); @@ -1689,7 +1741,9 @@ void Animation::_bind_methods() { ObjectTypeDB::bind_method(_MD("get_length"),&Animation::get_length); ObjectTypeDB::bind_method(_MD("set_loop","enabled"),&Animation::set_loop); + ObjectTypeDB::bind_method(_MD("set_loop_interpolation","enabled"),&Animation::set_loop_interpolation); ObjectTypeDB::bind_method(_MD("has_loop"),&Animation::has_loop); + ObjectTypeDB::bind_method(_MD("has_loop_interpolation"),&Animation::has_loop_interpolation); ObjectTypeDB::bind_method(_MD("set_step","size_sec"),&Animation::set_step); ObjectTypeDB::bind_method(_MD("get_step"),&Animation::get_step); @@ -1704,6 +1758,11 @@ void Animation::_bind_methods() { BIND_CONSTANT( INTERPOLATION_LINEAR ); BIND_CONSTANT( INTERPOLATION_CUBIC ); + BIND_CONSTANT( UPDATE_CONTINUOUS ); + BIND_CONSTANT( UPDATE_DISCRETE ); + BIND_CONSTANT( UPDATE_TRIGGER ); + + } void Animation::clear() { @@ -1712,6 +1771,7 @@ void Animation::clear() { memdelete( tracks[i] ); tracks.clear(); loop=false; + loop_interpolation=true; length=1; } @@ -1971,6 +2031,7 @@ Animation::Animation() { step=0.1; loop=false; + loop_interpolation=true; length=1; } @@ -1981,5 +2042,3 @@ Animation::~Animation() { memdelete( tracks[i] ); } - - diff --git a/scene/resources/animation.h b/scene/resources/animation.h index 1f2d9b80ab..ee643c9678 100644 --- a/scene/resources/animation.h +++ b/scene/resources/animation.h @@ -58,6 +58,13 @@ public: INTERPOLATION_CUBIC }; + enum UpdateMode { + UPDATE_CONTINUOUS, + UPDATE_DISCRETE, + UPDATE_TRIGGER, + + }; + private: struct Track { @@ -65,7 +72,8 @@ private: TrackType type; InterpolationType interpolation; NodePath path; // path to something - Track() { interpolation=INTERPOLATION_LINEAR; } + bool imported; + Track() { interpolation=INTERPOLATION_LINEAR; imported=false;} virtual ~Track() {} }; @@ -105,10 +113,11 @@ private: struct ValueTrack : public Track { - bool continuous; + UpdateMode update_mode; + bool update_on_seek; Vector< TKey<Variant> > values; - ValueTrack() { type=TYPE_VALUE; continuous=true; } + ValueTrack() { type=TYPE_VALUE; update_mode=UPDATE_CONTINUOUS; } }; @@ -163,6 +172,7 @@ private: float length; float step; bool loop; + bool loop_interpolation; // bind helpers private: @@ -232,6 +242,9 @@ public: void track_move_up(int p_track); void track_move_down(int p_track); + void track_set_imported(int p_track,bool p_imported); + bool track_is_imported(int p_track) const; + int transform_track_insert_key(int p_track, float p_time, const Vector3 p_loc, const Quat& p_rot=Quat(), const Vector3& p_scale=Vector3()); void track_insert_key(int p_track, float p_time, const Variant& p_key, float p_transition=1); void track_set_key_transition(int p_track, int p_key_idx,float p_transition); @@ -253,8 +266,9 @@ public: Variant value_track_interpolate(int p_track, float p_time) const; void value_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const; - void value_track_set_continuous(int p_track, bool p_continuous); - bool value_track_is_continuous(int p_track) const; + void value_track_set_update_mode(int p_track, UpdateMode p_mode); + UpdateMode value_track_get_update_mode(int p_track) const; + void method_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const; Vector<Variant> method_track_get_params(int p_track,int p_key_idx) const; @@ -265,7 +279,9 @@ public: float get_length() const; void set_loop(bool p_enabled); + void set_loop_interpolation(bool p_enabled); bool has_loop() const; + bool has_loop_interpolation() const; void set_step(float p_step); float get_step() const; @@ -281,5 +297,8 @@ public: VARIANT_ENUM_CAST( Animation::TrackType ); VARIANT_ENUM_CAST( Animation::InterpolationType ); +VARIANT_ENUM_CAST( Animation::UpdateMode ); + + #endif diff --git a/scene/resources/baked_light.cpp b/scene/resources/baked_light.cpp index aa4aae03cb..e4510be874 100644 --- a/scene/resources/baked_light.cpp +++ b/scene/resources/baked_light.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "baked_light.h" #include "servers/visual_server.h" diff --git a/scene/resources/baked_light.h b/scene/resources/baked_light.h index f9a1368e8d..16806d29e3 100644 --- a/scene/resources/baked_light.h +++ b/scene/resources/baked_light.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BAKED_LIGHT_H #define BAKED_LIGHT_H diff --git a/scene/resources/color_ramp.cpp b/scene/resources/color_ramp.cpp index bf1f298e7a..dfa9181d60 100644 --- a/scene/resources/color_ramp.cpp +++ b/scene/resources/color_ramp.cpp @@ -1,7 +1,31 @@ -/* - * color_ramp.h - */ - +/*************************************************************************/ +/* color_ramp.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "color_ramp.h" //setter and getter names for property serialization diff --git a/scene/resources/color_ramp.h b/scene/resources/color_ramp.h index aab5698c2b..daa21b480a 100644 --- a/scene/resources/color_ramp.h +++ b/scene/resources/color_ramp.h @@ -1,7 +1,31 @@ -/* - * color_ramp.h - */ - +/*************************************************************************/ +/* color_ramp.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef SCENE_RESOURCES_COLOR_RAMP_H_ #define SCENE_RESOURCES_COLOR_RAMP_H_ diff --git a/scene/resources/default_theme/bold_font.inc b/scene/resources/default_theme/bold_font.inc deleted file mode 100644 index 89fdeb4e97..0000000000 --- a/scene/resources/default_theme/bold_font.inc +++ /dev/null @@ -1,5 +0,0 @@ -static const int _bi_font_bold_height=15; -static const int _bi_font_bold_ascent=13; -static const int _bi_font_bold_valign=-2; -static const int _bi_font_bold_charcount=196; -static const int _bi_font_bold_characters[]={0, 215, 76, 3, 3, -1, 13, 0, 8, 252, 0, 3, 3, -1, 13, 0, 9, 252, 8, 3, 3, -1, 13, 3, 13, 252, 61, 3, 3, -1, 13, 3, 29, 252, 57, 3, 3, -1, 13, 0, 32, 252, 53, 3, 3, -1, 13, 3, 33, 71, 69, 4, 11, 0, 4, 4, 34, 111, 78, 7, 6, 0, 3, 6, 35, 42, 57, 9, 11, 0, 4, 9, 36, 135, 0, 8, 15, 0, 2, 8, 37, 0, 45, 14, 11, -1, 4, 12, 38, 156, 44, 10, 11, 0, 4, 9, 39, 132, 78, 4, 6, 0, 3, 4, 40, 104, 16, 6, 14, 0, 3, 5, 41, 111, 16, 6, 14, -1, 3, 5, 42, 76, 81, 7, 7, 0, 4, 7, 43, 24, 81, 8, 8, 0, 6, 8, 44, 126, 78, 5, 6, -1, 11, 4, 45, 198, 77, 6, 4, 0, 8, 6, 46, 210, 76, 4, 4, 0, 11, 4, 47, 43, 16, 8, 14, -1, 3, 6, 48, 234, 54, 8, 11, 0, 4, 8, 49, 53, 69, 6, 11, 1, 4, 8, 50, 99, 56, 8, 11, 0, 4, 8, 51, 108, 56, 8, 11, 0, 4, 8, 52, 22, 57, 9, 11, 0, 4, 8, 53, 171, 55, 8, 11, 0, 4, 8, 54, 207, 54, 8, 11, 0, 4, 8, 55, 198, 55, 8, 11, 0, 4, 8, 56, 189, 55, 8, 11, 0, 4, 8, 57, 180, 55, 8, 11, 0, 4, 8, 58, 251, 66, 4, 9, 0, 6, 4, 59, 60, 69, 5, 11, -1, 6, 4, 60, 198, 67, 8, 9, 0, 6, 7, 61, 51, 81, 8, 7, 0, 7, 8, 62, 139, 68, 9, 9, -1, 6, 7, 63, 148, 31, 8, 12, -1, 3, 6, 64, 191, 0, 13, 14, 0, 4, 13, 65, 86, 44, 11, 11, -1, 4, 9, 66, 32, 57, 9, 11, 0, 4, 9, 67, 135, 56, 8, 11, 0, 4, 8, 68, 244, 41, 10, 11, 0, 4, 10, 69, 126, 56, 8, 11, 0, 4, 8, 70, 117, 56, 8, 11, 0, 4, 7, 71, 52, 57, 9, 11, 0, 4, 9, 72, 134, 44, 10, 11, 0, 4, 10, 73, 66, 69, 4, 11, 0, 4, 4, 74, 90, 56, 8, 11, -1, 4, 7, 75, 0, 57, 10, 11, 0, 4, 9, 76, 81, 56, 8, 11, 0, 4, 7, 77, 45, 45, 13, 11, 0, 4, 13, 78, 167, 43, 10, 11, 0, 4, 10, 79, 178, 43, 10, 11, 0, 4, 10, 80, 36, 69, 8, 11, 0, 4, 8, 81, 167, 16, 10, 13, 0, 4, 10, 82, 189, 43, 10, 11, 0, 4, 9, 83, 27, 69, 8, 11, 0, 4, 8, 84, 200, 42, 10, 11, -1, 4, 8, 85, 211, 42, 10, 11, 0, 4, 10, 86, 110, 44, 11, 11, -1, 4, 9, 87, 237, 29, 15, 11, -1, 4, 13, 88, 122, 44, 11, 11, -1, 4, 9, 89, 222, 42, 10, 11, -1, 4, 8, 90, 9, 69, 8, 11, 0, 4, 8, 91, 132, 16, 6, 14, 0, 3, 5, 92, 70, 16, 8, 14, -1, 3, 6, 93, 139, 16, 6, 14, -1, 3, 5, 94, 41, 81, 9, 7, -1, 4, 7, 95, 166, 78, 9, 4, -1, 14, 7, 96, 160, 78, 5, 5, 0, 3, 4, 97, 243, 66, 7, 9, 0, 6, 7, 98, 94, 31, 8, 12, 0, 3, 8, 99, 8, 81, 7, 9, 0, 6, 7, 100, 112, 31, 8, 12, 0, 3, 8, 101, 189, 67, 8, 9, 0, 6, 8, 102, 200, 29, 7, 12, 0, 3, 5, 103, 0, 69, 8, 11, 0, 6, 8, 104, 175, 30, 8, 12, 0, 3, 8, 105, 224, 29, 6, 12, -1, 3, 4, 106, 96, 16, 7, 14, -2, 3, 4, 107, 64, 31, 9, 12, 0, 3, 8, 108, 231, 29, 5, 12, 0, 3, 4, 109, 104, 68, 12, 9, 0, 6, 12, 110, 207, 66, 8, 9, 0, 6, 8, 111, 216, 66, 8, 9, 0, 6, 8, 112, 153, 56, 8, 11, 0, 6, 8, 113, 144, 56, 8, 11, 0, 6, 8, 114, 0, 81, 7, 9, 0, 6, 6, 115, 234, 66, 8, 9, -1, 6, 7, 116, 45, 69, 7, 11, 0, 4, 6, 117, 225, 66, 8, 9, 0, 6, 8, 118, 149, 68, 9, 9, -1, 6, 7, 119, 90, 68, 13, 9, -1, 6, 11, 120, 179, 67, 9, 9, -1, 6, 7, 121, 62, 57, 9, 11, -1, 6, 7, 122, 16, 81, 7, 9, 0, 6, 7, 123, 118, 16, 6, 14, -1, 3, 4, 124, 146, 16, 4, 14, 0, 3, 4, 125, 125, 16, 6, 14, -1, 3, 4, 126, 137, 78, 8, 5, 0, 7, 7, 160, 252, 4, 3, 3, -1, 13, 3, 161, 76, 69, 4, 11, 0, 6, 4, 162, 50, 31, 7, 13, 0, 4, 7, 163, 243, 54, 8, 11, -1, 4, 7, 164, 159, 68, 9, 9, -1, 5, 7, 165, 11, 57, 10, 11, -1, 4, 8, 166, 151, 16, 4, 14, 0, 3, 4, 167, 178, 16, 8, 13, -1, 4, 7, 168, 176, 78, 7, 4, 0, 3, 7, 169, 233, 42, 10, 11, 0, 4, 10, 170, 98, 78, 6, 7, -1, 4, 5, 171, 169, 68, 9, 9, 0, 6, 8, 172, 68, 81, 7, 7, 0, 7, 7, 173, 191, 77, 6, 4, 0, 8, 6, 174, 145, 44, 10, 11, 0, 4, 10, 175, 184, 77, 6, 4, -1, 3, 5, 176, 146, 78, 7, 5, -1, 3, 5, 177, 225, 54, 8, 11, 0, 4, 8, 178, 84, 79, 6, 7, -1, 4, 5, 179, 91, 78, 6, 7, -1, 4, 5, 180, 154, 78, 5, 5, -1, 3, 4, 181, 72, 57, 8, 11, 0, 6, 8, 182, 12, 0, 11, 15, -1, 3, 9, 183, 205, 77, 4, 4, 0, 8, 4, 184, 119, 78, 6, 6, -1, 12, 4, 185, 105, 78, 5, 7, 0, 4, 5, 186, 60, 81, 7, 7, -1, 4, 6, 187, 129, 68, 9, 9, -1, 6, 8, 188, 59, 45, 13, 11, 0, 4, 11, 189, 73, 44, 12, 11, 0, 4, 11, 190, 30, 45, 14, 11, -1, 4, 11, 191, 162, 56, 8, 11, -1, 6, 6, 192, 0, 0, 11, 15, -1, 0, 9, 193, 36, 0, 11, 15, -1, 0, 9, 194, 24, 0, 11, 15, -1, 0, 9, 195, 229, 0, 11, 14, -1, 1, 9, 196, 217, 0, 11, 14, -1, 1, 9, 197, 205, 0, 11, 14, -1, 1, 9, 198, 15, 45, 14, 11, -1, 4, 13, 199, 61, 16, 8, 14, 0, 4, 8, 200, 162, 0, 8, 15, 0, 0, 8, 201, 153, 0, 8, 15, 0, 0, 8, 202, 144, 0, 8, 15, 0, 0, 8, 203, 52, 16, 8, 14, 0, 1, 8, 204, 185, 0, 5, 15, -1, 0, 4, 205, 179, 0, 5, 15, 0, 0, 4, 206, 171, 0, 7, 15, -1, 0, 4, 207, 88, 16, 7, 14, -1, 1, 4, 208, 98, 44, 11, 11, -1, 4, 10, 209, 22, 16, 10, 14, 0, 1, 10, 210, 114, 0, 10, 15, 0, 0, 10, 211, 103, 0, 10, 15, 0, 0, 10, 212, 92, 0, 10, 15, 0, 0, 10, 213, 11, 16, 10, 14, 0, 1, 10, 214, 0, 16, 10, 14, 0, 1, 10, 215, 33, 81, 7, 8, 0, 6, 7, 216, 156, 16, 10, 13, 0, 3, 10, 217, 81, 0, 10, 15, 0, 0, 10, 218, 70, 0, 10, 15, 0, 0, 10, 219, 59, 0, 10, 15, 0, 0, 10, 220, 241, 0, 10, 14, 0, 1, 10, 221, 48, 0, 10, 15, -1, 0, 8, 222, 18, 69, 8, 11, 0, 4, 8, 223, 74, 31, 9, 12, 0, 3, 9, 224, 18, 31, 7, 13, 0, 2, 7, 225, 26, 31, 7, 13, 0, 2, 7, 226, 34, 31, 7, 13, 0, 2, 7, 227, 184, 30, 7, 12, 0, 3, 7, 228, 208, 29, 7, 12, 0, 3, 7, 229, 216, 29, 7, 12, 0, 3, 7, 230, 117, 68, 11, 9, 0, 6, 11, 231, 103, 31, 8, 12, 0, 6, 7, 232, 9, 31, 8, 13, 0, 2, 8, 233, 205, 15, 8, 13, 0, 2, 8, 234, 232, 15, 8, 13, 0, 2, 8, 235, 157, 30, 8, 12, 0, 3, 8, 236, 250, 15, 5, 13, -1, 2, 4, 237, 58, 31, 5, 13, 0, 2, 4, 238, 42, 31, 7, 13, -1, 2, 4, 239, 192, 30, 7, 12, -2, 3, 4, 240, 84, 31, 9, 12, 0, 3, 8, 241, 139, 31, 8, 12, 0, 3, 8, 242, 187, 16, 8, 13, 0, 2, 8, 243, 0, 31, 8, 13, 0, 2, 8, 244, 241, 15, 8, 13, 0, 2, 8, 245, 130, 31, 8, 12, 0, 3, 8, 246, 121, 31, 8, 12, 0, 3, 8, 247, 81, 68, 8, 10, 0, 5, 8, 248, 216, 54, 8, 11, 0, 5, 8, 249, 214, 15, 8, 13, 0, 2, 8, 250, 223, 15, 8, 13, 0, 2, 8, 251, 196, 15, 8, 13, 0, 2, 8, 252, 166, 30, 8, 12, 0, 3, 8, 253, 125, 0, 9, 15, -1, 2, 7, 254, 79, 16, 8, 14, 0, 3, 8, 255, 33, 16, 9, 14, -1, 3, 7}; diff --git a/scene/resources/default_theme/default_font.inc b/scene/resources/default_theme/default_font.inc deleted file mode 100644 index d5c9ab66b1..0000000000 --- a/scene/resources/default_theme/default_font.inc +++ /dev/null @@ -1,458 +0,0 @@ -static const int _builtin_font_height=16; -static const int _builtin_font_ascent=13; -static const int _builtin_font_charcount=190; -static const int _builtin_font_charrects[190][6]={ - /* charidx , ofs_x, ofs_y, size_x, size_y, valign */ - {210,2,2,10,14,0}, - {211,16,2,10,14,0}, - {212,30,2,10,14,0}, - {213,44,2,10,14,0}, - {217,58,2,9,14,0}, - {218,71,2,9,14,0}, - {219,84,2,9,14,0}, - {40,97,2,4,13,3}, - {41,105,2,4,13,3}, - {91,113,2,4,13,3}, - {93,121,2,4,13,3}, - {106,129,2,3,13,3}, - {123,136,2,5,13,3}, - {124,145,2,2,13,3}, - {125,151,2,5,13,3}, - {166,160,2,2,13,3}, - {167,166,2,7,13,3}, - {182,177,2,7,13,3}, - {192,188,2,10,13,0}, - {193,202,2,10,13,0}, - {194,216,2,10,13,0}, - {195,230,2,10,13,0}, - {197,2,20,10,13,0}, - {199,16,20,9,13,3}, - {200,29,20,8,13,0}, - {201,41,20,8,13,0}, - {202,53,20,8,13,0}, - {204,65,20,4,13,0}, - {205,73,20,4,13,0}, - {206,81,20,5,13,0}, - {209,90,20,9,13,0}, - {214,103,20,10,13,1}, - {220,117,20,9,13,1}, - {221,130,20,9,13,0}, - {253,143,20,7,13,3}, - {254,154,20,8,13,3}, - {36,166,20,7,12,3}, - {64,177,20,13,12,3}, - {196,194,20,10,12,1}, - {203,208,20,8,12,1}, - {207,220,20,5,12,1}, - {229,229,20,7,12,2}, - {35,240,20,8,11,3}, - {37,2,37,12,11,3}, - {38,18,37,10,11,3}, - {47,32,37,4,11,3}, - {48,40,37,7,11,3}, - {51,51,37,7,11,3}, - {53,62,37,7,11,3}, - {54,73,37,7,11,3}, - {56,84,37,7,11,3}, - {57,95,37,7,11,3}, - {67,106,37,9,11,3}, - {71,119,37,10,11,3}, - {74,133,37,7,11,3}, - {79,144,37,10,11,3}, - {81,158,37,10,11,3}, - {83,172,37,9,11,3}, - {85,185,37,9,11,3}, - {92,198,37,5,11,3}, - {98,207,37,8,11,3}, - {100,219,37,8,11,3}, - {103,231,37,8,11,5}, - {112,243,37,8,11,5}, - {113,2,52,8,11,5}, - {121,14,52,7,11,5}, - {161,25,52,3,11,5}, - {162,32,52,7,11,4}, - {163,43,52,7,11,3}, - {169,54,52,11,11,3}, - {174,69,52,11,11,3}, - {181,84,52,8,11,5}, - {188,96,52,12,11,3}, - {189,112,52,11,11,3}, - {190,127,52,12,11,3}, - {191,143,52,8,11,5}, - {216,155,52,10,11,3}, - {223,169,52,8,11,3}, - {224,181,52,7,11,3}, - {225,192,52,7,11,3}, - {226,203,52,7,11,3}, - {227,214,52,7,11,3}, - {228,225,52,7,11,3}, - {231,236,52,7,11,5}, - {232,2,67,7,11,3}, - {233,13,67,7,11,3}, - {234,24,67,7,11,3}, - {235,35,67,7,11,3}, - {240,46,67,8,11,3}, - {242,58,67,8,11,3}, - {243,70,67,8,11,3}, - {244,82,67,8,11,3}, - {245,94,67,8,11,3}, - {246,106,67,8,11,3}, - {249,118,67,8,11,3}, - {250,130,67,8,11,3}, - {251,142,67,8,11,3}, - {252,154,67,8,11,3}, - {33,166,67,3,10,3}, - {49,173,67,5,10,3}, - {50,182,67,7,10,3}, - {52,193,67,7,10,3}, - {55,204,67,7,10,3}, - {59,215,67,3,10,6}, - {63,222,67,8,10,3}, - {65,234,67,10,10,3}, - {66,2,82,8,10,3}, - {68,14,82,8,10,3}, - {69,26,82,8,10,3}, - {70,38,82,8,10,3}, - {72,50,82,9,10,3}, - {73,63,82,3,10,3}, - {75,70,82,10,10,3}, - {76,84,82,7,10,3}, - {77,95,82,11,10,3}, - {78,110,82,9,10,3}, - {80,123,82,9,10,3}, - {82,136,82,8,10,3}, - {84,148,82,8,10,3}, - {86,160,82,9,10,3}, - {87,173,82,13,10,3}, - {88,190,82,9,10,3}, - {89,203,82,9,10,3}, - {90,216,82,8,10,3}, - {102,228,82,5,10,3}, - {104,237,82,8,10,3}, - {105,249,82,3,10,3}, - {107,2,96,8,10,3}, - {108,14,96,3,10,3}, - {116,21,96,4,10,4}, - {165,29,96,8,10,3}, - {198,41,96,13,10,3}, - {208,58,96,9,10,3}, - {222,71,96,9,10,3}, - {236,84,96,4,10,3}, - {237,92,96,4,10,3}, - {238,100,96,5,10,3}, - {239,109,96,5,10,3}, - {241,118,96,8,10,3}, - {97,130,96,7,9,5}, - {99,141,96,7,9,5}, - {101,152,96,7,9,5}, - {111,163,96,8,9,5}, - {115,175,96,7,9,5}, - {117,186,96,8,9,5}, - {177,198,96,7,9,5}, - {230,209,96,12,9,5}, - {248,225,96,8,9,5}, - {43,237,96,7,8,6}, - {60,2,110,7,8,6}, - {62,13,110,7,8,6}, - {109,24,110,11,8,5}, - {110,39,110,8,8,5}, - {114,51,110,5,8,5}, - {118,60,110,7,8,5}, - {119,71,110,10,8,5}, - {120,85,110,7,8,5}, - {122,96,110,7,8,5}, - {247,107,110,7,8,6}, - {58,118,110,3,7,6}, - {94,125,110,7,7,3}, - {164,136,110,7,7,5}, - {170,147,110,5,7,3}, - {171,156,110,6,7,6}, - {178,166,110,5,7,3}, - {179,175,110,5,7,3}, - {185,184,110,4,7,3}, - {186,192,110,5,7,3}, - {187,201,110,5,7,6}, - {61,210,110,7,6,7}, - {215,221,110,6,6,7}, - {42,231,110,5,5,3}, - {44,240,110,3,5,11}, - {176,247,110,5,5,4}, - {34,2,122,6,4,3}, - {39,12,122,3,4,3}, - {126,19,122,7,4,8}, - {172,30,122,8,4,8}, - {45,42,122,4,3,8}, - {96,50,122,3,3,3}, - {173,57,122,4,3,8}, - {180,65,122,4,3,3}, - {184,73,122,4,3,13}, - {46,81,122,3,2,11}, - {95,88,122,9,2,14}, - {168,101,122,5,2,3}, - {175,110,122,5,2,3}, - {183,119,122,3,2,9}, - {32,126,122,5,1,0}, - {160,137,122,0,0,13} -}; -static const int _builtin_font_texture_height=256; -static const int _builtin_font_texture_width=256; - -static const unsigned char _builtin_font_texture[65536]={ - - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,27,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,36,0,0,0,0,0,0,0,0,0,0,0,28,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,0,0,0,0,0,0,0,0,0,42,28,0,0,0,0,0,0,0,0,0,0,0,0,5,44,21,0,0,0,0,0,0,0,0,0,0,42,23,0,0,0,0,0,0,0,0,0,63,101,0,0,0,0,74,91,0,0,0,0,0,0,17,124,124,124,0,0,0,0,94,124,124,46,0,0,0,0,11,124,91,0,0,0,0,0,0,77,123,15,0,0,0,0,87,42,0,0,0,0,7,123,85,0,0,0,0,0,0,87,42,0,0,0,0,0,0,53,95,65,1,0,0,0,0,0,0,21,108,124,124,124,108,0,0,0,0,0,0,2,43,24,0,0,0,0,0,0,0,0,0,0,0,0,0,1,40,22,0,0,0,0,0,0,0,0,0,0,0,43,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,48,244,63,0,0,0,0,0,0,0,0,0,0,0,0,24,246,85,0,0,0,0,0,0,0,0,0,0,31,219,219,69,0,0,0,0,0,0,0,0,0,0,193,236,153,179,93,0,0,0,0,0,0,0,0,0,120,228,6,0,0,0,0,0,0,0,0,0,0,0,100,229,26,0,0,0,0,0,0,0,0,0,100,203,221,14,0,0,0,0,0,0,0,13,231,117,0,0,0,0,59,252,48,0,0,0,0,0,36,255,237,216,0,0,0,0,165,228,255,96,0,0,0,0,24,255,188,0,0,0,0,0,71,255,227,26,0,0,0,0,180,88,0,0,0,0,13,220,255,82,0,0,0,0,0,180,88,0,0,0,0,0,158,255,246,255,166,0,0,0,0,0,29,230,255,255,146,249,145,0,0,0,0,0,0,0,144,210,0,0,0,0,0,0,0,0,0,0,0,0,0,78,239,39,0,0,0,0,0,0,0,0,0,0,108,202,218,11,0,0,0,0,0,0,0,0,0,44,240,210,129,222,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,78,132,0,0,0,0,0,0,0,0,0,0,0,0,95,115,0,0,0,0,0,0,0,0,0,0,0,140,63,41,168,3,0,0,0,0,0,0,0,0,13,124,25,107,127,8,0,0,0,0,0,0,0,0,0,0,143,66,0,0,0,0,0,0,0,0,0,0,0,160,51,0,0,0,0,0,0,0,0,0,17,171,14,104,109,0,0,0,0,0,0,0,123,244,15,0,0,0,0,0,198,178,0,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,3,40,29,0,0,0,0,0,118,255,25,0,0,0,0,0,180,88,0,0,0,0,0,7,255,130,0,0,0,0,0,180,88,0,0,0,0,29,255,192,0,160,234,18,0,0,0,0,147,255,255,255,56,244,80,0,0,0,0,0,0,0,3,159,48,0,0,0,0,0,0,0,0,0,0,0,0,147,68,0,0,0,0,0,0,0,0,0,0,20,171,12,110,103,0,0,0,0,0,0,0,0,0,67,73,50,130,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,2,228,163,0,0,0,0,0,0,103,254,32,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,15,246,251,126,10,0,0,0,0,0,0,187,255,255,255,56,244,80,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,53,255,90,0,0,0,0,0,0,33,255,112,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,167,255,255,228,89,0,0,0,0,0,155,255,255,255,56,244,80,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,102,255,47,0,0,0,0,0,0,1,246,162,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,13,164,249,6,0,0,0,0,0,180,88,0,0,0,0,0,0,246,158,1,0,0,0,0,104,50,0,0,0,0,90,254,55,142,248,255,100,0,0,0,0,37,238,255,255,56,244,80,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,120,255,34,0,0,0,0,0,0,0,231,177,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,132,253,128,0,0,0,0,0,0,180,88,0,0,0,0,0,0,121,252,147,0,0,0,0,0,0,0,0,0,0,139,255,91,0,36,242,179,0,0,0,0,0,27,122,255,56,244,80,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,107,255,47,0,0,0,0,0,0,0,242,160,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,16,164,248,6,0,0,0,0,0,180,88,0,0,0,0,0,0,234,191,35,0,0,0,0,81,39,0,0,0,0,50,243,255,194,87,244,125,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,62,255,86,0,0,0,0,0,0,27,255,116,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,31,173,255,255,212,3,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,5,236,152,0,0,0,0,0,0,97,255,41,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,0,0,66,221,255,76,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,136,235,7,0,0,0,0,0,191,193,0,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,119,255,19,0,0,0,0,0,180,88,0,0,0,0,0,4,255,131,0,0,0,0,0,180,88,0,0,0,0,26,255,167,0,126,255,94,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,21,239,101,0,0,0,0,48,255,62,0,0,0,0,0,36,255,223,184,0,0,0,0,140,206,255,96,0,0,0,0,180,255,178,0,0,0,0,0,80,255,195,22,0,0,0,0,180,88,0,0,0,0,11,198,255,96,0,0,0,0,0,180,88,0,0,0,0,0,197,255,223,252,229,19,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,82,119,0,0,0,0,87,118,0,0,0,0,0,0,21,152,152,152,0,0,0,0,116,152,152,57,0,0,0,0,195,202,67,0,0,0,0,0,1,109,151,19,0,0,0,0,106,52,0,0,0,0,9,151,114,3,0,0,0,0,0,106,52,0,0,0,0,0,15,116,150,119,22,0,0,0,0,0,0,0,5,124,27,118,38,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,1,70,27,0,0,0,0,0,0,0,0,0,0,13,106,155,150,94,5,0,0,0,0,0,0,10,44,16,0,0,0,0,0,0,0,0,0,0,0,18,44,7,0,0,0,0,0,0,0,0,10,44,12,0,0,0,0,0,0,0,2,43,24,0,0,0,0,0,0,0,39,31,0,0,0,0,0,0,39,27,0,0,0,0,0,0,0,0,0,0,0,11,1,0,0,0,0,0,0,0,0,212,145,106,252,0,0,0,0,0,0,0,0,0,43,252,63,189,169,0,0,0,0,0,0,0,0,0,0,19,44,7,0,0,0,0,0,0,0,0,0,106,195,18,0,0,0,0,0,31,124,71,0,0,0,0,0,0,0,0,0,0,0,23,207,45,0,0,0,0,0,0,0,0,0,1,74,143,169,159,108,19,0,0,0,0,0,0,0,0,0,47,252,59,192,165,0,0,0,0,0,0,0,0,114,244,7,252,98,0,0,0,0,0,0,27,252,78,173,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,0,14,7,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,92,126,172,0,0,0,0,0,0,0,0,0,35,225,255,255,255,255,205,15,0,0,0,0,0,4,187,163,0,0,0,0,0,0,0,0,0,0,0,180,174,1,0,0,0,0,0,0,0,0,167,200,172,0,0,0,0,0,0,0,0,144,210,0,0,0,0,0,0,45,248,62,0,0,0,0,0,80,208,227,24,0,0,0,0,0,0,44,240,210,129,222,8,0,0,0,0,0,0,0,0,128,87,64,152,0,0,0,0,0,0,0,0,0,26,152,38,114,102,0,0,0,0,0,0,0,0,0,0,184,170,1,0,0,0,0,0,0,0,0,6,223,61,0,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,3,157,254,255,255,195,15,0,0,0,0,0,0,36,206,204,117,86,103,174,241,94,0,0,0,0,0,0,0,0,28,152,35,116,99,0,0,0,0,0,0,0,0,68,147,4,152,59,0,0,0,0,0,0,16,152,47,104,111,0,0,0,0,0,0,95,176,110,0,0,0,0,0,0,0,0,184,163,8,251,90,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,54,180,141,0,0,0,0,0,0,0,0,0,199,255,155,27,30,174,255,141,0,0,0,0,0,0,16,179,15,0,0,0,0,0,0,0,0,0,24,175,10,0,0,0,0,0,0,0,0,59,144,2,156,56,0,0,0,0,0,0,0,3,159,48,0,0,0,0,0,117,93,0,0,0,0,0,9,171,23,89,125,0,0,0,0,0,0,67,73,50,130,83,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,0,0,0,27,174,9,0,0,0,0,0,0,0,3,4,5,20,0,3,3,0,0,0,0,64,255,148,2,27,4,0,0,0,0,0,0,88,255,123,220,96,255,131,0,0,0,0,0,34,234,118,1,0,0,0,0,64,240,86,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,0,23,124,94,0,0,0,0,0,0,0,137,102,149,0,0,0,0,0,0,0,0,233,114,53,255,39,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,45,255,221,3,0,0,23,188,151,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,0,23,124,94,0,0,0,0,23,124,94,0,0,0,0,0,0,23,124,94,0,0,0,0,0,13,124,121,6,0,0,44,124,73,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,65,124,77,0,0,0,104,124,40,0,0,0,0,181,255,71,0,12,249,209,0,0,0,0,64,255,178,218,255,231,62,0,0,0,0,0,121,255,45,216,12,130,93,0,0,0,0,0,193,142,0,7,118,180,123,110,71,85,230,3,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,0,48,255,196,0,0,0,0,0,0,0,19,105,23,0,0,0,0,0,0,121,205,255,221,220,255,205,38,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,92,255,153,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,255,118,0,0,92,255,152,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,39,252,236,10,0,42,255,234,10,0,0,0,0,89,255,149,0,78,255,120,0,0,0,0,64,255,255,152,126,248,235,13,0,0,0,0,59,255,221,239,45,0,0,0,0,0,0,62,245,14,0,175,186,59,168,251,60,2,239,51,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,0,48,255,196,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,73,171,255,126,211,218,124,23,0,0,0,0,0,0,0,0 - ,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,103,255,136,0,0,0,0,0,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,255,242,24,0,92,255,152,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,156,255,110,0,152,255,116,0,0,0,0,0,10,242,225,0,151,255,32,0,0,0,0,64,255,200,0,0,141,255,86,0,0,0,0,0,96,230,255,255,179,20,0,0,0,0,136,186,0,66,233,13,0,73,240,4,0,224,74,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,0,131,221,0,207,145,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,81,255,162,0,0,0,1,60,53,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,238,251,159,0,92,255,152,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,28,247,224,22,245,233,10,0,0,0,0,0,0,161,255,48,224,198,0,0,0,0,0,64,255,153,0,0,97,255,115,0,0,0,0,0,0,1,219,156,255,163,0,0,0,0,162,161,0,143,165,0,0,119,173,0,31,254,38,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,0,48,255,196,0,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,127,213,221,132,250,184,88,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,22,251,237,17,0,0,51,255,200,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,144,254,54,92,255,152,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,0,141,255,199,255,114,0,0,0,0,0,0,0,69,255,167,255,108,0,0,0,0,0,64,255,181,0,0,129,255,94,0,0,0,0,122,175,6,216,12,232,210,0,0,0,0,139,188,0,143,199,2,29,233,122,7,184,187,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,0,48,255,196,0,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,189,254,219,212,255,202,131,0,0,0,0,0,0,0,0,0 - ,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,147,255,212,104,110,224,255,100,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,16,235,199,93,255,152,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,0,0,19,241,255,232,9,0,0,0,0,0,0,0,2,229,255,252,23,0,0,0,0,0,64,255,253,110,82,237,247,24,0,0,0,0,127,255,130,222,99,253,170,0,0,0,0,62,250,35,36,236,221,228,162,241,228,199,21,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,26,255,70,101,247,4,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,6,162,254,255,255,247,124,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,102,255,185,255,152,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,0,0,143,255,131,0,0,0,0,0,0,0,0,0,140,255,186,0,0,0,0,0,0,64,255,197,242,255,249,92,0,0,0,0,0,11,182,255,255,255,211,33,0,0,0,0,0,174,209,25,16,62,16,0,44,50,1,0,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,77,255,18,151,201,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,25,197,112,13,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,2,207,255,255,152,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,0,83,255,97,0,0,0,0,0,0,64,255,148,21,69,26,0,0,0,0,0,0,0,0,35,226,55,1,0,0,0,0,0,0,11,171,239,137,74,59,81,144,29,0,0,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,0,48,255,196,0,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,47,100,0,78,70,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,2,19,70,248,39,0,0,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,0,61,255,255,152,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,114,218,246,15,0,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,0,0,0,138,7,0,0,0,0,0,0,0,0,0,61,146,189,200,181,129,24,0,0,0,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,0,48,255,196,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,23,169,179,169,8,0,0,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,0,0,167,255,152,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,185,194,78,0,0,0,0,0,0,0,53,212,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,20,4,0,0,0,10,44,0,0,0,0,0,0,0,0,0,4,75,93,25,0,0,0,0,0,0,0,0,0,0,24,38,0,0,0,0,0,0,54,96,62,0,0,0,0,0,0,0,2,70,99,67,2,0,0,0,0,0,0,32,56,56,56,56,20,0,0,0,0,0,0,35,94,81,12,0,0,0,0,0,0,0,60,99,70,3,0,0,0,0,0,0,1,64,97,54,0,0,0,0,0,0,0,0,13,106,155,150,94,5,0,0,0,0,0,0,0,4,88,148,155,116,25,0,0,0,0,0,0,0,0,0,0,77,124,38,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,4,88,148,154,109,17,0,0,0,0,0,0,0,5,92,148,156,123,34,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,8,54,0,0,0,0,0,0,0,29,124,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,124,9,0,0,0,0,0,0,7,26,0,2,4,0,0,0,0,0,1,4,2,2,27,4,0,0,0,0,0,0,0 - ,0,0,19,196,255,237,73,0,0,132,120,0,0,0,0,0,0,0,0,7,203,255,255,241,36,0,0,0,0,0,0,0,0,0,133,90,0,0,0,0,0,146,255,255,255,169,2,0,0,0,0,7,198,255,255,255,194,5,0,0,0,0,0,174,255,255,255,255,92,0,0,0,0,0,102,252,255,255,223,23,0,0,0,0,4,179,255,255,255,201,11,0,0,0,0,4,180,255,255,255,148,0,0,0,0,0,0,35,225,255,255,255,255,205,15,0,0,0,0,0,20,204,255,255,255,255,242,66,0,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,20,204,255,255,255,255,234,52,0,0,0,0,0,5,198,255,249,245,255,248,63,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,1,215,6,0,0,0,0,0,0,60,255,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,255,20,0,0,0,0,0,78,238,255,190,190,255,8,0,0,0,0,64,255,178,218,255,234,67,0,0,0,0,0,0 - ,0,0,146,219,58,154,232,1,25,217,9,0,0,0,0,0,0,0,0,68,255,136,67,255,111,0,0,0,0,0,0,0,0,0,202,20,0,0,0,0,51,255,184,26,161,255,78,0,0,0,0,87,255,138,23,172,255,78,0,0,0,0,0,215,180,104,104,104,37,0,0,0,0,21,246,198,31,97,224,107,0,0,0,0,78,255,140,23,113,255,106,0,0,0,0,98,255,143,26,163,255,59,0,0,0,0,0,199,255,155,27,30,174,255,141,0,0,0,0,0,183,255,163,34,20,108,252,232,6,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,179,255,169,34,19,122,255,228,12,0,0,0,0,77,255,176,7,2,95,255,190,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,150,73,0,0,0,0,0,0,60,255,152,3,28,4,0,0,0,0,0,0,0,0,8,27,0,188,255,20,0,0,0,0,25,244,240,118,177,255,255,8,0,0,0,0,64,255,255,152,126,248,237,14,0,0,0,0,0 - ,0,0,174,166,0,76,254,8,153,99,0,0,0,0,0,0,0,0,0,38,253,204,119,255,65,0,0,0,0,0,0,0,0,22,199,0,0,0,0,0,120,255,86,0,62,255,144,0,0,0,0,84,176,37,0,117,255,87,0,0,0,0,5,251,98,47,35,0,0,0,0,0,0,93,255,89,6,8,0,0,0,0,0,0,89,255,68,0,33,255,114,0,0,0,0,155,255,33,0,51,255,137,0,0,0,0,45,255,221,3,0,0,23,188,151,0,0,0,0,43,255,221,4,0,0,0,102,140,27,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,39,255,228,6,0,0,0,166,255,101,0,0,0,0,100,255,151,0,0,0,100,89,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,67,155,0,0,0,0,0,0,60,255,189,224,255,233,66,0,0,0,0,0,0,89,242,255,206,206,255,20,0,0,0,0,108,255,119,0,3,224,255,8,0,0,0,0,64,255,200,0,0,141,255,88,0,0,0,0,0 - ,0,0,81,253,183,234,172,40,209,3,0,0,0,0,0,0,0,0,0,0,138,255,255,118,0,0,0,0,0,0,0,0,0,94,128,0,0,0,0,0,150,255,59,0,32,255,173,0,0,0,0,0,0,15,108,230,202,9,0,0,0,0,41,255,236,255,255,174,5,0,0,0,0,133,255,176,247,252,163,5,0,0,0,0,9,194,226,143,210,212,20,0,0,0,0,147,255,53,0,71,255,171,0,0,0,0,92,255,153,0,0,0,0,0,0,0,0,0,0,98,255,149,0,0,13,24,24,24,6,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,94,255,156,0,0,0,0,89,255,158,0,0,0,0,35,247,255,220,158,106,37,0,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,4,214,2,0,0,0,0,0,60,255,255,154,127,248,237,14,0,0,0,0,37,250,236,116,176,255,255,20,0,0,0,0,139,255,73,0,0,177,255,8,0,0,0,0,64,255,153,0,0,97,255,115,0,0,0,0,0 - ,0,0,0,74,152,115,8,175,79,44,136,117,14,0,0,0,0,0,0,89,244,249,255,106,42,216,62,0,0,0,0,0,0,166,56,0,0,0,0,0,158,255,52,0,25,255,181,0,0,0,0,0,0,38,235,255,191,16,0,0,0,0,74,236,154,64,181,255,108,0,0,0,0,145,255,217,102,183,255,115,0,0,0,0,22,208,244,187,240,219,34,0,0,0,0,67,255,216,129,223,255,176,0,0,0,0,104,255,136,0,0,0,0,0,0,0,0,0,0,110,255,133,0,0,140,255,255,255,64,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,107,255,137,0,0,0,0,74,255,171,0,0,0,0,0,47,160,224,255,255,254,140,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,0,158,63,0,0,0,0,0,60,255,201,0,0,138,255,87,0,0,0,0,126,255,104,0,5,232,255,20,0,0,0,0,125,255,99,0,0,210,255,8,0,0,0,0,64,255,181,0,0,129,255,95,0,0,0,0,0 - ,0,0,0,0,0,0,58,195,44,245,207,230,200,1,0,0,0,0,25,250,189,24,213,250,167,255,35,0,0,0,0,0,2,216,2,0,0,0,0,0,148,255,62,0,31,255,171,0,0,0,0,0,0,0,0,106,255,138,0,0,0,0,0,0,0,0,42,255,173,0,0,0,0,138,255,77,0,17,255,182,0,0,0,0,145,255,75,0,47,255,172,0,0,0,0,0,116,240,246,157,255,159,0,0,0,0,82,255,162,0,0,0,1,60,53,0,0,0,0,84,255,170,0,0,74,136,188,255,64,0,0,0,0,90,132,35,0,160,255,80,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,81,255,169,0,0,15,79,105,255,145,0,0,0,0,0,0,0,0,20,92,242,255,34,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,0,0,76,145,0,0,0,0,0,60,255,157,0,0,93,255,115,0,0,0,0,155,255,57,0,0,193,255,20,0,0,0,0,54,255,223,74,131,255,255,8,0,0,0,0,64,255,253,107,79,237,248,25,0,0,0,0,0 - ,0,0,0,0,0,0,195,58,133,207,0,39,255,44,0,0,0,0,67,255,124,0,37,240,255,189,0,0,0,0,0,0,54,166,0,0,0,0,0,0,115,255,99,0,62,255,136,0,0,0,0,104,180,36,0,39,255,173,0,0,0,0,66,104,21,0,43,255,169,0,0,0,0,105,255,67,0,16,255,177,0,0,0,0,178,255,38,0,10,255,205,0,0,0,0,17,36,9,1,71,255,116,0,0,0,0,23,252,237,17,0,0,51,255,199,0,0,0,0,18,246,248,42,0,0,2,187,255,64,0,0,0,0,173,255,72,0,163,255,76,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,17,247,246,33,0,126,254,228,255,71,0,0,0,0,110,212,87,0,0,0,175,255,50,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,0,7,212,0,0,0,0,0,60,255,186,0,0,126,255,94,0,0,0,0,136,255,85,0,0,224,255,20,0,0,0,0,0,139,255,255,230,213,255,8,0,0,0,0,64,255,197,243,255,251,98,0,0,0,0,0,0 - ,0,0,0,0,0,79,176,0,109,233,52,109,253,25,0,0,0,0,27,252,232,78,101,236,255,202,7,0,0,0,0,0,126,94,0,0,0,0,0,0,39,253,209,77,192,255,58,0,0,0,0,95,255,180,76,176,255,122,0,0,0,0,122,255,176,78,188,255,95,0,0,0,0,33,252,201,78,170,255,107,0,0,0,0,119,255,178,75,160,255,148,0,0,0,0,97,255,164,74,205,251,33,0,0,0,0,0,151,255,212,104,110,224,255,97,0,0,0,0,0,121,255,234,122,105,196,249,255,64,0,0,0,0,131,255,188,104,235,255,38,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,124,255,227,116,107,245,255,217,0,0,0,0,0,57,254,231,102,71,118,249,234,8,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,0,0,167,53,0,0,0,0,60,255,254,112,82,237,247,23,0,0,0,0,57,255,217,73,136,255,255,20,0,0,0,0,16,40,60,70,14,193,251,2,0,0,0,0,64,255,148,23,73,29,0,0,0,0,0,0,0 - ,0,0,0,0,3,210,41,0,9,187,255,250,112,0,0,0,0,0,0,105,249,255,255,205,148,255,157,0,0,0,0,0,197,23,0,0,0,0,0,0,0,123,254,255,255,145,0,0,0,0,0,4,173,255,255,255,182,9,0,0,0,0,11,189,255,255,254,151,2,0,0,0,0,0,106,250,255,255,171,5,0,0,0,0,6,171,255,255,255,190,16,0,0,0,0,6,184,255,255,250,105,0,0,0,0,0,0,6,158,253,255,255,247,124,0,0,0,0,0,0,0,123,247,255,255,234,71,252,64,0,0,0,0,17,205,255,255,253,134,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,0,123,246,255,255,254,210,255,103,0,0,0,0,0,108,244,255,255,255,219,58,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,0,85,135,0,0,0,0,60,255,207,245,255,249,94,0,0,0,0,0,0,132,255,255,233,217,255,20,0,0,0,0,58,255,218,99,136,254,173,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,13,54,0,0,0,0,32,18,0,0,0,0,0,0,0,0,21,69,55,1,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,32,71,37,0,0,0,0,0,0,0,0,41,71,42,0,0,0,0,0,0,0,0,46,71,31,0,0,0,0,0,0,0,0,23,69,44,0,0,0,0,0,0,0,0,37,71,44,0,0,0,0,0,0,0,0,51,74,25,0,0,0,0,0,0,0,0,0,24,66,63,14,0,0,0,0,0,0,0,0,0,15,64,65,10,0,7,2,0,0,0,0,0,2,52,69,28,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,12,61,69,26,0,109,18,0,0,0,0,0,0,10,57,69,44,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,6,34,0,0,0,0,0,0,0,23,69,26,0,0,0,0,0,0,0,0,37,68,14,0,0,0,0,0,0,0,0,76,178,207,194,125,10,0,0,0,0,0,53,212,122,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,8,26,0,3,4,0,0,0,0,0,3,4,0,0,0,3,3,0,0,0,0,0,4,3,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,34,71,50,1,0,0,0,0,0,0,0,0,29,119,162,149,86,3,0,0,0,0,0,0,0,0,0,29,119,162,149,86,3,0,0,0,0,0,0,1,4,2,0,0,4,3,0,0,0,0,0,0,0,41,7,0,0,0,29,57,0,0,0,0,0,0,0,0,0,41,7,0,0,0,35,51,0,0,0,0,0,0,0,48,74,14,0,0,0,0,72,12,0,0,0,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,8,97,151,154,103,12,39,97,0,0,0,0,0,0,65,117,109,41,0,0,0,0,0,0,0,12,188,119,0,0,0,0,0,0,0,0,0,0,106,195,18,0,0,0,0,0,0,0,92,208,118,0,0,0,0,0,0,0,49,165,102,46,147,0,0,0,0,0,0,65,168,5,162,76,0,0,0,0,0,0,0,2,26,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,95,243,255,194,202,255,20,0,0,0,0,181,255,71,0,12,249,209,0,0,0,0,36,255,208,0,0,0,0,0,0,2,158,16,0,0,0,0,0,0,2,162,255,255,255,206,19,0,0,0,0,0,0,98,228,131,80,94,179,207,29,0,0,0,0,0,0,0,98,228,131,80,94,179,207,29,0,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,31,107,246,36,0,0,0,193,98,0,0,0,0,0,0,0,31,107,246,36,0,0,3,210,78,0,0,0,0,0,0,100,224,194,219,3,0,0,85,201,1,0,0,0,0,0,0,0,0,24,255,216,0,0,0,0,0,0,0,0,32,217,255,255,255,255,225,218,65,0,0,0,0,0,147,255,255,255,253,95,0,0,0,0,0,0,0,50,228,12,0,0,0,0,0,0,0,0,6,223,61,0,0,0,0,0,0,0,36,210,37,213,50,0,0,0,0,0,0,159,121,158,221,102,0,0,0,0,0,0,92,236,7,228,106,0,0,0,0,0,0,79,228,255,253,169,7,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,42,251,233,115,180,255,255,20,0,0,0,0,89,255,149,0,78,255,120,0,0,0,0,31,224,182,0,0,0,0,0,74,228,255,254,167,7,0,0,0,0,88,255,180,44,130,255,138,0,0,0,0,0,73,221,29,94,169,152,37,111,212,7,0,0,0,0,0,73,221,103,148,148,145,78,111,212,7,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,67,150,255,36,0,0,85,205,2,0,0,0,0,0,0,0,67,150,255,36,0,0,105,187,0,0,0,0,0,0,0,98,67,60,248,11,0,8,222,56,0,0,0,0,0,0,0,0,0,21,224,189,0,0,0,0,0,0,0,1,204,255,153,29,23,141,255,221,5,0,0,0,0,12,252,215,14,44,250,220,0,0,0,0,0,0,0,10,51,20,0,0,0,0,0,0,0,0,15,53,13,0,0,0,0,0,0,0,13,24,32,26,15,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,31,247,227,98,160,255,126,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,131,255,100,0,6,235,255,20,0,0,0,0,10,242,225,0,151,255,32,0,0,0,0,0,51,25,0,0,0,0,26,246,230,196,163,255,122,0,0,0,0,121,255,99,0,2,175,133,0,0,0,0,0,212,67,106,236,117,176,224,5,177,104,0,0,0,0,0,212,67,128,222,120,156,252,21,177,104,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,0,24,255,36,0,8,223,60,0,0,0,0,0,0,0,0,0,24,255,36,0,16,231,43,0,0,0,0,0,0,0,0,54,241,193,3,0,124,163,0,0,0,0,0,0,0,0,0,0,0,93,74,0,0,0,0,0,0,0,66,255,208,1,0,8,193,223,255,82,0,0,0,0,31,255,176,0,16,246,207,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,111,255,104,0,8,155,113,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,159,255,53,0,0,197,255,20,0,0,0,0,0,161,255,48,224,198,0,0,0,0,0,0,181,99,0,0,0,0,103,255,110,148,8,155,112,0,0,0,0,44,254,194,0,0,0,0,0,0,0,0,26,235,0,200,113,0,8,100,13,90,174,0,0,0,0,26,235,0,128,200,32,73,247,17,90,174,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,0,24,255,36,0,123,168,0,18,135,61,0,0,0,0,0,0,24,255,36,0,143,148,39,147,148,46,0,0,0,0,76,40,17,252,60,26,233,27,18,135,61,0,0,0,0,0,0,0,38,250,154,0,0,0,0,0,0,0,122,255,129,0,3,175,127,104,255,138,0,0,0,0,32,255,176,58,232,250,72,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,138,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,141,255,81,0,1,226,255,20,0,0,0,0,0,69,255,167,255,108,0,0,0,0,0,0,216,133,0,0,0,0,129,255,77,148,0,0,0,0,0,0,0,109,233,255,193,161,0,0,0,0,0,0,42,218,0,216,85,0,0,0,0,71,190,0,0,0,0,42,218,0,128,252,240,253,155,0,71,190,0,0,0,0,64,255,154,0,11,255,204,0,0,0,0,0,0,24,255,36,26,234,30,0,160,247,116,0,0,0,0,0,0,24,255,36,39,233,19,217,148,153,224,0,0,0,0,149,216,167,243,25,162,125,0,160,247,116,0,0,0,0,0,0,69,238,238,37,0,0,0,0,0,0,0,134,255,110,0,154,152,0,88,255,154,0,0,0,0,32,255,176,35,147,247,237,28,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,123,255,95,0,2,110,82,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,64,255,213,68,135,255,255,20,0,0,0,0,0,2,229,255,252,23,0,0,0,0,0,2,249,167,0,0,0,0,113,255,99,148,3,111,82,0,0,0,0,0,67,255,111,0,0,0,0,0,0,0,9,242,12,174,149,0,29,220,28,111,155,0,0,0,0,9,242,12,128,192,0,85,241,0,111,155,0,0,0,0,64,255,229,78,152,255,216,2,0,0,0,0,0,7,80,11,162,130,0,68,176,200,116,0,0,0,0,0,0,7,80,11,182,110,0,114,23,86,236,0,0,0,0,6,95,114,36,55,223,9,68,176,200,116,0,0,0,0,0,24,245,237,43,0,0,0,0,0,0,0,0,107,255,140,131,174,3,0,124,255,128,0,0,0,0,32,255,176,0,0,120,255,108,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,48,255,214,60,129,255,138,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,144,255,255,226,214,255,20,0,0,0,0,0,0,140,255,186,0,0,0,0,0,0,28,255,199,0,0,0,0,42,254,213,180,131,255,137,0,0,0,0,0,70,255,60,0,0,0,0,0,0,0,0,165,126,50,241,206,234,172,11,220,64,0,0,0,0,0,165,126,128,192,0,61,254,24,220,64,0,0,0,0,64,255,248,255,252,219,255,116,0,0,0,0,0,0,0,54,226,10,7,215,74,210,142,2,0,0,0,0,0,0,0,73,214,4,0,0,91,229,84,0,0,0,0,0,0,0,1,200,86,7,215,74,210,142,2,0,0,0,0,78,255,144,0,0,140,196,9,0,0,0,0,34,253,243,194,8,0,13,224,255,54,0,0,0,0,32,255,176,0,0,109,255,106,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,0,121,251,255,255,197,15,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,44,71,13,192,255,20,0,0,0,0,0,0,83,255,97,0,0,0,0,0,0,36,255,208,0,0,0,0,0,119,252,255,255,193,14,0,0,0,0,40,221,193,143,104,102,94,0,0,0,0,0,25,222,109,23,79,58,26,189,148,0,0,0,0,0,0,25,222,133,38,0,5,73,200,148,0,0,0,0,0,64,255,131,62,38,9,66,18,0,0,0,0,0,0,1,199,91,0,22,204,204,244,227,9,0,0,0,0,0,0,4,215,71,0,0,125,227,53,11,0,0,0,0,0,0,0,92,195,0,22,204,204,244,227,9,0,0,0,0,51,255,199,7,29,240,230,0,0,0,0,0,0,172,255,212,109,108,210,255,167,0,0,0,0,0,32,255,176,24,106,233,254,43,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,0,0,28,203,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,192,255,20,0,0,0,0,0,114,218,246,15,0,0,0,0,0,0,36,255,208,0,0,0,0,0,0,25,175,49,0,0,0,0,0,0,76,255,235,251,255,255,207,0,0,0,0,0,0,27,181,224,175,190,231,118,1,0,0,0,0,0,0,0,27,181,224,175,190,231,118,1,0,0,0,0,0,64,255,128,0,0,0,0,0,0,0,0,0,0,0,91,199,1,0,0,0,0,200,116,0,0,0,0,0,0,0,111,180,0,0,3,245,255,255,248,0,0,0,0,0,0,11,226,50,0,0,0,0,200,116,0,0,0,0,0,0,174,255,241,248,255,111,0,0,0,0,0,63,217,150,250,255,255,252,151,7,0,0,0,0,0,32,255,176,76,255,252,122,0,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,0,6,24,84,252,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,159,212,16,0,0,0,0,0,185,194,78,0,0,0,0,0,0,0,15,108,87,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,28,0,8,56,64,8,0,0,0,0,0,0,0,0,27,65,52,6,0,0,0,0,0,0,0,0,0,0,0,27,65,52,6,0,0,0,0,0,0,0,55,220,110,0,0,0,0,0,0,0,0,0,0,0,49,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,23,0,0,0,0,0,0,0,0,0,0,0,0,0,20,56,0,0,0,0,0,0,0,0,0,0,0,0,0,4,97,158,153,76,0,0,0,0,0,0,28,36,0,18,65,65,20,0,0,0,0,0,0,0,0,0,0,12,51,22,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,41,170,184,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,10,186,123,0,0,0,0,0,0,0,0,0,0,83,205,31,0,0,0,0,0,0,0,69,208,142,0,0,0,0,0,0,0,47,168,23,144,94,0,0,0,0,0,0,14,126,43,102,56,0,0,0,0,0,0,0,0,109,202,8,0,0,0,0,0,0,0,0,0,0,24,213,81,0,0,0,0,0,0,0,0,25,203,198,10,0,0,0,0,0,0,0,3,142,138,54,132,39,0,0,0,0,0,0,0,168,70,97,141,0,0,0,0,0,0,0,0,116,198,5,0,0,0,0,0,0,0,0,0,0,27,214,78,0,0,0,0,0,0,0,0,24,198,189,7,0,0,0,0,0,0,0,7,168,63,105,133,0,0,0,0,0,0,61,112,45,0,0,0,0,0,0,0,19,50,0,0,0,0,0,2,63,97,70,5,0,0,0,0,0,0,0,0,22,56,46,0,0,0,0,0,35,56,56,56,56,56,48,0,0,0,0,104,196,82,0,0,0,0,0,1,91,161,158,90,1,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,47,228,14,0,0,0,0,0,0,0,0,0,206,84,0,0,0,0,0,0,0,20,211,42,199,73,0,0,0,0,0,0,66,236,33,202,132,0,0,0,0,0,0,7,161,255,217,12,0,0,0,0,0,0,0,0,3,184,103,0,0,0,0,0,0,0,0,0,0,136,154,0,0,0,0,0,0,0,0,1,186,78,134,147,0,0,0,0,0,0,0,59,180,121,206,190,6,0,0,0,0,0,0,0,236,99,136,199,0,0,0,0,0,0,0,0,5,190,95,0,0,0,0,0,0,0,0,0,0,140,150,0,0,0,0,0,0,0,0,1,184,80,144,137,0,0,0,0,0,0,0,11,236,88,147,188,0,0,0,0,0,0,140,255,104,0,0,0,0,0,0,3,177,232,0,0,0,0,4,183,255,255,255,210,18,0,0,0,0,0,0,0,193,255,212,0,0,0,0,0,160,255,255,255,255,255,220,0,0,0,0,136,255,108,0,0,0,0,0,138,255,243,241,255,153,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,6,49,14,0,0,0,0,0,0,0,0,8,54,7,0,0,0,0,0,0,0,10,23,30,17,18,0,0,0,0,0,0,0,6,30,7,0,0,0,0,0,0,0,2,120,62,226,193,8,0,0,0,0,0,0,0,0,34,38,0,0,0,0,0,0,0,0,0,0,49,23,0,0,0,0,0,0,0,0,2,18,27,21,18,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,1,4,2,8,17,3,4,0,0,0,0,0,1,4,2,22,3,3,4,0,0,0,0,0,1,7,26,0,3,28,4,0,0,0,0,0,1,4,2,0,0,3,4,0,0,0,0,0,140,255,104,0,0,0,0,15,158,220,255,232,0,0,0,0,80,255,169,25,135,255,127,0,0,0,0,0,0,90,237,255,212,0,0,0,0,0,65,104,104,104,145,255,160,0,0,0,0,19,36,15,0,0,0,0,8,247,225,16,12,215,254,29,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,48,189,233,230,255,146,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,131,255,95,0,0,0,0,17,164,164,247,232,0,0,0,0,122,255,73,0,39,255,167,0,0,0,0,0,13,229,101,255,212,0,0,0,0,0,0,0,0,8,214,217,11,0,0,0,0,0,0,0,0,0,0,0,28,192,119,0,0,169,255,53,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,20,237,247,132,148,254,249,20,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,100,255,61,0,0,0,0,0,0,0,232,232,0,0,0,0,0,0,0,0,97,255,125,0,0,0,0,0,139,199,1,255,212,0,0,0,0,0,0,0,0,134,255,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,247,234,9,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,105,255,129,0,0,166,255,79,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,66,255,26,0,0,0,0,0,0,0,232,232,0,0,0,0,0,0,0,82,245,216,14,0,0,0,0,41,247,48,0,255,212,0,0,0,0,0,0,0,25,247,183,0,0,0,0,0,0,121,228,96,0,0,0,0,0,0,0,56,247,228,51,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,135,255,77,0,0,117,255,96,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,32,246,1,0,0,0,0,0,0,0,232,232,0,0,0,0,0,5,145,255,180,21,0,0,0,0,0,162,224,140,140,255,236,109,0,0,0,0,0,0,123,255,71,0,0,0,0,0,0,136,255,107,0,0,0,0,0,0,0,180,237,23,0,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,117,255,104,0,0,145,255,72,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,2,70,0,0,0,0,0,0,0,0,232,232,0,0,0,0,2,180,255,125,0,0,0,0,0,0,0,167,244,244,244,255,253,190,0,0,0,0,0,0,201,240,4,0,0,0,0,0,0,0,123,92,0,0,0,0,0,0,0,80,80,0,0,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,40,252,227,71,83,243,237,11,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,124,228,92,0,0,0,0,0,0,0,232,232,0,0,0,0,79,255,243,160,160,160,105,0,0,0,0,0,0,0,0,255,212,0,0,0,0,0,0,9,251,189,0,0,0,0,0,0,0,76,207,18,0,0,0,0,0,0,0,213,228,0,0,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,0,99,247,255,255,237,70,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,140,255,104,0,0,0,0,0,0,0,232,232,0,0,0,0,141,255,255,255,255,255,168,0,0,0,0,0,0,0,0,255,212,0,0,0,0,0,0,49,255,157,0,0,0,0,0,0,0,27,7,0,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,16,65,59,8,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,116,124,124,124,118,78,4,0,0,0,0,0,124,124,124,123,106,46,0,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,3,124,124,124,124,124,124,77,0,0,0,0,13,124,102,0,0,0,52,124,67,0,0,0,0,23,124,94,0,0,0,0,3,124,112,0,0,0,75,124,86,0,0,0,0,0,118,122,0,0,0,0,0,0,0,0,0,17,124,124,101,0,0,0,111,124,124,11,0,0,0,0,13,124,121,6,0,0,44,124,73,0,0,0,0,1,124,124,124,124,114,63,0,0,0,0,0,0,118,124,124,124,124,112,39,0,0,0,0,0,100,124,124,124,124,124,124,96,0,0,0,0,75,124,43,0,0,0,76,124,39,0,0,0,0,94,124,35,0,0,108,124,17,0,1,122,123,5,0,0,0,0,57,124,103,0,0,5,121,124,27,0,0,0,0,65,124,77,0,0,0,104,124,40,0,0,0,0,75,124,124,124,124,124,124,63,0,0,0,0,0,14,104,119,0,0,0,0,0,15,124,85,0,0,0,0,0,0,0,0,0,15,124,85,0,0,0,0 - ,0,0,240,255,255,255,255,255,190,4,0,0,0,0,255,255,255,255,255,255,138,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,8,255,255,255,255,255,255,160,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,72,251,228,31,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,255,247,5,0,17,254,255,255,24,0,0,0,0,28,255,255,118,0,0,92,255,152,0,0,0,0,4,255,255,255,255,255,255,146,0,0,0,0,0,244,255,255,255,255,255,247,50,0,0,0,0,208,255,255,255,255,255,255,200,0,0,0,0,91,255,145,0,0,0,214,251,21,0,0,0,0,141,255,111,0,11,252,255,77,0,38,255,213,0,0,0,0,0,21,237,255,58,0,112,255,191,0,0,0,0,0,39,252,236,10,0,42,255,234,10,0,0,0,0,156,255,255,255,255,255,255,132,0,0,0,0,0,167,255,236,0,0,0,0,0,32,255,176,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,39,36,49,200,255,75,0,0,0,0,255,245,36,37,78,231,255,64,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,8,255,235,36,36,36,36,22,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,51,243,236,42,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,251,255,55,0,73,255,251,255,24,0,0,0,0,28,255,255,242,24,0,92,255,152,0,0,0,0,4,255,242,36,36,80,246,254,27,0,0,0,0,244,252,36,36,40,160,255,151,0,0,0,0,29,36,36,242,255,36,36,28,0,0,0,0,13,247,220,0,0,32,255,185,0,0,0,0,0,69,255,164,0,61,255,247,132,0,89,255,142,0,0,0,0,0,0,101,255,195,16,237,248,39,0,0,0,0,0,0,156,255,110,0,152,255,116,0,0,0,0,0,21,36,36,36,66,246,252,62,0,0,0,0,0,210,253,3,0,0,0,0,0,32,255,176,0,25,11,0,0,0,0,0,0,5,40,27,0,0,0,0 - ,0,0,240,255,4,0,0,152,255,75,0,0,0,0,255,244,0,0,0,96,255,160,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,33,232,243,54,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,213,246,113,0,129,238,221,255,24,0,0,0,0,28,255,238,251,159,0,92,255,152,0,0,0,0,4,255,240,0,0,0,192,255,54,0,0,0,0,244,252,0,0,0,80,255,157,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,174,255,39,0,107,255,98,0,0,0,0,0,7,245,217,0,114,244,170,187,0,141,255,72,0,0,0,0,0,0,1,198,255,198,255,126,0,0,0,0,0,0,0,28,247,224,22,245,233,10,0,0,0,0,0,0,0,0,7,203,255,117,0,0,0,0,0,182,250,255,224,14,0,0,0,0,32,255,191,195,255,248,96,0,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,181,180,199,255,165,2,0,0,0,0,255,244,0,0,0,37,255,205,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,8,255,248,180,180,180,180,11,0,0,0,0,28,255,252,236,236,236,244,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,240,217,255,94,0,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,192,172,0,186,182,220,255,24,0,0,0,0,28,255,212,144,254,54,92,255,152,0,0,0,0,4,255,240,0,0,43,239,254,24,0,0,0,0,244,253,96,96,100,198,251,62,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,88,255,114,0,181,249,16,0,0,0,0,0,0,181,254,15,167,194,113,240,1,192,247,9,0,0,0,0,0,0,0,47,252,255,215,6,0,0,0,0,0,0,0,0,141,255,199,255,114,0,0,0,0,0,0,0,0,0,153,255,173,0,0,0,0,0,0,68,226,253,84,5,0,0,0,0,32,255,255,143,133,254,232,0,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,236,236,242,255,182,9,0,0,0,0,255,244,0,0,0,27,255,214,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,8,255,254,236,236,236,236,14,0,0,0,0,28,255,242,180,180,180,210,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,255,248,255,204,7,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,133,229,2,241,124,220,255,24,0,0,0,0,28,255,212,16,235,199,93,255,152,0,0,0,0,4,255,255,255,255,255,255,158,0,0,0,0,0,244,255,255,255,255,255,139,0,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,11,245,189,9,246,178,0,0,0,0,0,0,0,109,255,67,220,140,58,255,43,241,186,0,0,0,0,0,0,0,0,8,227,255,174,0,0,0,0,0,0,0,0,0,19,241,255,232,9,0,0,0,0,0,0,0,0,96,255,217,14,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,191,0,0,208,255,6,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,4,0,0,118,255,121,0,0,0,0,255,244,0,0,0,57,255,189,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,250,66,154,255,155,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,74,255,76,255,66,220,255,24,0,0,0,0,28,255,212,0,102,255,185,255,152,0,0,0,0,4,255,250,160,160,156,100,3,0,0,0,0,0,244,253,64,64,73,218,255,49,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,171,250,88,255,90,0,0,0,0,0,0,0,37,255,137,255,87,8,250,135,255,115,0,0,0,0,0,0,0,0,132,255,244,255,75,0,0,0,0,0,0,0,0,0,143,255,131,0,0,0,0,0,0,0,0,48,246,244,43,0,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,4,0,0,79,255,159,0,0,0,0,255,244,0,0,0,159,255,122,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,9,210,255,98,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,17,254,191,252,11,220,255,24,0,0,0,0,28,255,212,0,2,207,255,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,147,255,87,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,84,255,223,246,12,0,0,0,0,0,0,0,0,221,235,255,33,0,205,234,255,44,0,0,0,0,0,0,0,43,250,227,64,255,224,10,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,16,221,255,90,0,0,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,161,160,166,236,255,89,0,0,0,0,255,251,160,160,201,255,229,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,41,244,247,49,0,0,0,0,0,244,254,160,160,160,160,85,0,0,0,0,36,255,208,0,212,255,206,0,220,255,24,0,0,0,0,28,255,212,0,0,61,255,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,150,255,98,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,9,244,255,171,0,0,0,0,0,0,0,0,0,149,255,235,0,0,150,255,228,0,0,0,0,0,0,0,1,196,255,95,0,168,255,139,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,142,255,238,160,160,160,160,82,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,240,255,255,255,252,219,111,0,0,0,0,0,255,255,255,255,242,179,39,0,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,0,95,255,222,17,0,0,0,0,244,255,255,255,255,255,136,0,0,0,0,36,255,208,0,153,255,148,0,220,255,24,0,0,0,0,28,255,212,0,0,0,167,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,117,255,161,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,0,167,255,83,0,0,0,0,0,0,0,0,0,76,255,182,0,0,95,255,159,0,0,0,0,0,0,0,103,255,208,2,0,33,249,251,47,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,156,255,255,255,255,255,255,132,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,29,124,73,0,0,0,0,0,0,0,0,0,15,124,85,0,0,0,0,0,180,177,0,0,0,0,0,35,36,0,0,0,24,40,5,0,0,0,0,0,0,0,80,124,124,124,124,124,124,124,124,36,0,0,0,0,0,124,124,124,123,108,52,0,0,0,0,0,0,1,124,116,0,0,0,0,0,0,0,0,0,0,2,164,153,0,0,0,0,0,0,17,210,91,0,0,0,0,0,33,203,179,3,0,0,0,0,18,168,52,115,123,0,0,0,0,0,6,148,135,51,140,30,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,0,0,2,26,14,0,0,0,0,0,0,0,0,6,30,7,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,0,0,8,29,10,0,0,0,0,0,0,1,4,2,0,0,3,4,0,0,0,0,0,0,0,0,228,130,0,0,0,0,0,0,0,0,11,32,12,0,1,28,16,0,0,0,0,0,0,0,0,0,0,26,22,0,0,14,0,0,0,0,0,0,0,39,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,144,255,58,0,8,228,206,1,0,0,0,0,0,0,3,231,255,255,255,255,255,255,255,255,76,0,0,0,0,0,255,255,255,255,255,255,144,0,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,0,26,226,37,0,0,0,0,0,124,165,0,0,0,0,0,4,195,67,159,121,0,0,0,0,25,236,73,162,173,0,0,0,0,0,70,173,124,208,182,2,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,0,79,228,255,253,169,7,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,135,246,255,251,160,5,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,3,158,252,255,253,176,222,255,254,179,15,0,0,0,0,0,0,62,220,255,255,208,152,124,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,0,0,4,3,0,0,0,0,0,32,255,176,0,0,0,0,182,253,253,203,0,0,0,0,16,235,197,0,116,255,70,0,0,0,0,0,0,0,72,255,161,125,255,156,36,36,36,36,10,0,0,0,0,0,255,245,36,36,72,223,255,63,0,0,0,0,4,255,254,236,236,229,181,44,0,0,0,0,0,0,0,18,13,0,0,0,0,0,24,7,0,0,0,0,0,5,22,4,7,23,0,0,0,0,0,0,4,2,0,0,0,0,0,0,4,2,0,27,12,0,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,31,247,227,97,160,255,126,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,62,255,187,82,165,255,104,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,41,156,156,254,212,156,131,0,0,0,0,78,255,182,89,185,255,230,84,124,255,163,0,0,0,0,0,23,241,243,107,125,253,246,13,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,0,140,255,124,0,0,0,0,0,32,255,176,0,0,0,0,68,242,239,76,0,0,0,0,0,105,255,95,236,188,0,0,0,0,0,0,0,0,164,255,62,104,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,77,255,158,0,0,0,0,4,255,251,180,180,220,255,226,3,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,183,201,255,249,109,0,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,111,255,104,0,8,155,113,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,83,255,210,99,38,60,32,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,63,240,240,255,249,240,202,0,0,0,0,32,76,40,65,182,255,150,36,36,222,249,6,0,0,0,0,102,255,125,0,117,233,255,84,0,0,0,0,68,200,200,255,231,200,184,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,99,255,147,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,0,3,211,252,254,51,0,0,0,0,0,0,0,11,244,227,1,104,255,221,180,180,180,171,0,0,0,0,0,116,255,249,116,105,0,17,255,205,0,0,0,0,4,255,240,0,0,4,220,255,47,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,253,139,129,251,247,5,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,138,255,70,0,0,0,0,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,8,168,250,255,255,199,43,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,21,184,254,249,227,255,255,255,255,255,255,31,0,0,0,0,130,255,77,113,154,103,255,111,0,0,0,0,67,196,196,255,229,196,180,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,207,250,197,2,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,13,144,191,255,234,144,67,0,0,0,0,0,0,93,255,140,0,104,255,246,236,236,236,224,0,0,0,0,0,152,255,251,152,137,0,7,255,214,0,0,0,0,4,255,240,0,0,0,202,255,48,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,179,0,0,192,255,23,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,120,255,94,0,3,111,82,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,7,12,18,91,183,255,175,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,136,255,108,4,110,255,130,16,16,16,16,2,0,0,0,0,112,255,196,157,1,134,255,89,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,255,254,245,29,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,7,80,115,255,187,80,37,0,0,0,0,0,0,185,255,183,152,194,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,36,255,187,0,0,0,0,4,255,247,112,112,155,255,236,6,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,46,254,214,60,129,255,136,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,135,255,133,36,91,255,171,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,23,88,88,143,119,88,74,0,0,0,0,155,255,119,57,211,255,216,46,62,232,205,0,0,0,0,0,35,251,250,78,80,240,243,21,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,201,101,255,169,0,0,0,0,0,0,32,255,176,0,0,0,0,0,233,244,26,0,0,0,0,15,168,185,255,221,168,78,0,0,0,0,0,24,252,255,255,255,255,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,143,255,117,0,0,0,0,4,255,255,255,255,255,235,72,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,0,121,252,255,255,197,15,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,26,212,255,255,255,227,43,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,68,255,255,255,255,255,216,0,0,0,0,59,248,255,254,151,88,246,255,255,220,45,0,0,0,0,0,102,200,247,255,255,241,79,0,0,0,0,0,0,0,0,31,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,2,209,255,63,0,0,0,0,0,32,255,176,0,0,0,0,0,175,255,232,0,0,0,0,0,0,52,255,156,0,0,0,0,0,0,0,114,255,136,8,8,108,255,212,160,160,160,160,90,0,0,0,0,0,255,251,160,161,200,255,230,14,0,0,0,0,4,255,243,48,48,41,7,0,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,0,25,68,47,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,2,47,73,58,6,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,13,52,52,52,52,52,43,0,0,0,0,0,28,74,34,0,0,18,67,54,3,0,0,0,0,0,0,60,4,17,66,64,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,60,255,152,0,73,255,209,3,0,0,0,0,32,255,176,0,0,0,0,0,5,63,55,0,0,0,0,0,0,52,255,156,0,0,0,0,0,0,0,206,255,44,0,0,104,255,255,255,255,255,255,144,0,0,0,0,0,255,255,255,255,243,182,40,0,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,8,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,4,2,3,30,4,0,2,27,4,0,0,0,0,0,0,4,2,0,27,12,0,0,0,0,0,0,0,4,2,0,23,0,0,0,0,3,4,0,0,0,3,3,0,0,0,0,3,3,0,0,3,3,0,0,3,3,0,0,0,0,2,4,1,0,1,4,3,0,0,0,0,2,4,4,4,4,3,0,0,0,0,0,0,0,0,40,24,0,0,0,0,0,0,104,196,82,0,0,0,0,0,0,0,8,4,0,0,0,0,0,0,50,136,10,54,24,84,84,0,0,0,0,1,85,115,45,0,0,0,0,0,0,0,9,0,4,4,0,0,0,0,0,50,76,20,0,0,0,0,0,0,48,74,14,0,0,0,0,0,0,0,41,7,0,0,0,0,0,71,116,48,0,0,0,0,0,9,0,7,1,0,0,0,0,0,30,88,88,88,88,88,82,0,0,0,0,52,97,0,11,132,7,0,0,0,0,0,0,116,0,0,0,0,0,0,39,228,178,0,0,0,0,0,71,204,202,51,0,0,0,0 - ,0,0,0,0,0,3,72,166,214,0,0,0,0,123,201,106,18,0,0,0,0,0,0,0,56,255,190,222,255,230,96,224,255,233,49,0,0,0,0,48,255,183,201,255,249,109,0,0,0,0,0,48,255,170,187,208,0,0,0,0,162,255,66,0,26,255,202,0,0,0,0,203,254,18,4,245,254,16,12,252,206,0,0,0,0,102,255,184,0,143,255,144,0,0,0,0,128,255,255,255,255,248,0,0,0,0,0,0,0,4,255,156,0,0,0,0,0,0,136,255,108,0,0,0,0,0,0,69,255,198,0,0,0,0,0,0,61,244,245,255,251,251,119,0,0,0,0,86,205,126,237,0,0,0,0,0,0,134,79,11,183,20,0,0,0,0,110,232,185,235,17,0,0,0,0,100,224,194,219,3,0,0,0,0,31,107,246,36,0,0,0,0,96,218,121,239,41,0,0,0,0,183,36,44,168,7,0,0,0,0,88,255,255,255,255,255,240,0,0,0,0,176,254,110,192,254,72,0,0,0,0,47,34,240,39,42,0,0,0,0,44,255,199,0,0,0,0,0,215,18,36,196,0,0,0,0 - ,0,0,0,44,139,230,252,187,90,0,0,0,0,45,159,239,249,172,77,4,0,0,0,0,56,255,246,124,170,255,250,130,163,255,164,0,0,0,0,48,255,253,139,129,251,247,5,0,0,0,0,48,255,247,214,143,0,0,0,0,73,255,142,0,96,255,113,0,0,0,0,131,255,75,50,255,255,70,66,255,134,0,0,0,0,0,189,255,98,248,220,10,0,0,0,0,58,116,116,183,255,215,0,0,0,0,0,0,0,1,112,68,0,0,0,0,0,0,19,36,15,0,0,0,0,0,0,168,239,255,45,0,0,0,0,0,0,210,161,15,103,253,23,0,0,0,0,24,146,194,255,4,0,0,0,0,152,225,40,203,191,6,0,0,0,0,139,95,5,253,60,0,0,0,0,98,67,60,248,11,0,0,0,0,67,150,255,36,0,0,0,0,172,109,0,174,108,0,0,0,0,135,235,53,201,195,0,0,0,0,17,52,52,52,52,52,48,0,0,0,0,11,192,255,254,100,0,0,0,0,0,94,220,255,216,84,0,0,0,0,0,31,184,0,0,0,0,1,210,8,23,206,0,0,0,0 - ,0,0,111,255,199,110,23,0,0,0,0,0,0,0,0,6,78,166,243,209,0,0,0,0,56,255,163,0,41,255,179,0,29,255,183,0,0,0,0,48,255,179,0,0,192,255,23,0,0,0,0,48,255,209,2,0,0,0,0,0,4,235,218,0,167,253,27,0,0,0,0,58,255,133,106,236,224,125,122,255,61,0,0,0,0,0,34,245,254,254,64,0,0,0,0,0,0,0,49,244,238,38,0,0,0,0,0,68,200,200,200,200,200,187,0,0,0,0,0,0,0,0,0,0,0,0,19,248,104,225,148,0,0,0,0,0,0,250,69,0,6,255,58,0,0,0,0,139,161,39,255,4,0,0,0,0,220,74,24,243,26,0,0,0,0,0,0,7,149,209,7,0,0,0,0,0,54,241,193,3,0,0,0,0,0,24,255,36,0,0,0,0,150,148,4,208,87,0,0,0,0,6,209,80,44,251,0,0,0,0,19,56,56,56,56,56,52,0,0,0,0,11,192,255,254,99,0,0,0,0,0,0,176,207,160,0,0,0,0,0,21,197,82,0,0,0,0,0,91,215,208,69,0,0,0,0 - ,0,0,106,254,207,119,32,0,0,0,0,0,0,0,0,8,82,171,247,207,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,165,0,0,0,0,0,0,0,150,255,40,236,193,0,0,0,0,0,3,238,191,162,179,170,179,178,240,4,0,0,0,0,0,0,158,255,198,0,0,0,0,0,0,0,27,228,250,65,0,0,0,0,0,0,67,196,196,196,196,196,183,0,0,0,0,0,0,0,0,0,0,0,0,111,245,14,124,240,10,0,0,0,0,0,199,189,59,144,250,15,0,0,0,0,79,238,176,202,24,0,0,0,0,120,241,49,174,218,9,0,0,0,0,25,211,162,12,0,0,0,0,0,76,40,17,252,60,0,0,0,0,0,24,255,36,0,0,0,0,31,203,231,165,5,0,0,0,0,176,206,45,233,149,0,0,0,0,88,255,255,255,255,255,240,0,0,0,0,174,254,109,194,254,70,0,0,0,0,6,117,6,119,2,0,0,0,0,10,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,35,129,222,255,200,103,0,0,0,0,45,159,241,247,168,74,3,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,60,255,167,255,104,0,0,0,0,0,0,169,244,221,121,116,234,233,172,0,0,0,0,0,0,43,248,251,255,75,0,0,0,0,0,11,206,255,99,0,0,0,0,0,0,0,0,0,1,116,70,0,0,0,0,0,0,121,228,96,0,0,0,0,0,210,160,0,25,251,98,0,0,0,0,79,252,217,255,231,243,141,0,0,0,0,55,108,108,108,18,0,0,0,0,0,92,73,2,144,20,0,0,0,0,158,251,192,192,45,0,0,0,0,149,216,167,243,25,0,0,0,0,0,24,255,36,0,0,0,0,62,108,108,108,37,0,0,0,0,149,13,42,120,0,0,0,0,0,28,84,84,84,84,84,78,0,0,0,0,49,94,0,12,131,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,1,63,158,210,0,0,0,0,123,195,101,15,0,0,0,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,1,225,255,251,20,0,0,0,0,0,0,97,255,255,63,62,255,255,100,0,0,0,0,0,3,202,255,78,243,228,16,0,0,0,0,157,255,220,120,120,120,9,0,0,0,0,0,0,4,255,156,0,0,0,0,0,0,136,255,108,0,0,0,0,13,124,42,0,0,97,84,0,0,0,0,25,100,0,15,2,58,58,0,0,0,0,78,152,152,152,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,80,80,80,18,0,0,0,0,6,95,114,36,0,0,0,0,0,0,7,80,11,0,0,0,0,87,152,152,152,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,5,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,0,137,255,184,0,0,0,0,0,0,0,25,255,251,10,11,252,255,28,0,0,0,0,0,119,255,170,0,129,255,159,0,0,0,0,188,255,255,255,255,255,20,0,0,0,0,0,0,0,36,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,42,124,54,34,124,63,0,0,0,0,42,124,54,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,108,224,224,224,224,224,224,17,0,0,0,0,76,116,116,101,0,0,0,0,92,210,17,0,0,0,0,76,116,116,101,0,0,0,0,0,153,163,2,0,0,0,0,0,40,153,24,0,0,0,0,39,228,178,0,0,0,0,31,112,112,112,112,112,112,112,57,0,0,0,0,128,110,57,168,13,0,0,0,0,70,88,88,88,8,0,0,0,0,35,204,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,88,255,112,72,255,132,0,0,0,0,88,255,112,0,0,0,0,2,189,253,187,30,65,130,0,0,0,0,15,32,32,32,32,32,238,20,0,0,0,0,168,255,255,224,0,0,0,0,0,166,123,0,0,0,0,168,255,255,224,0,0,0,0,38,226,26,0,0,0,0,0,13,34,138,195,0,0,0,0,44,255,200,0,0,0,0,32,116,116,116,116,116,116,116,59,0,0,0,0,180,154,81,236,18,0,0,0,0,140,176,176,176,16,0,0,0,0,35,204,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,64,255,86,48,255,106,0,0,0,0,64,255,86,0,0,0,0,31,179,6,111,240,245,86,0,0,0,0,0,0,0,0,0,0,236,20,0,0,0,0,52,80,80,70,0,0,0,0,0,5,20,0,0,0,0,52,80,80,70,0,0,0,0,11,14,0,0,0,0,0,0,87,171,193,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,4,211,12,0,205,26,0,0,0,0,4,211,12,0,0,0,0,0,0,0,0,14,20,0,0,0,0,0,0,0,0,0,0,0,206,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -}; diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp index 9ebb7e7561..53a186f0c3 100644 --- a/scene/resources/default_theme/default_theme.cpp +++ b/scene/resources/default_theme/default_theme.cpp @@ -1,13 +1,31 @@ -/*************************************************/ -/* default_theme.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ +/*************************************************************************/ +/* default_theme.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "default_theme.h" @@ -16,14 +34,8 @@ #include "theme_data.h" #include "os/os.h" - -#include "normal_font.inc" -#include "bold_font.inc" -#include "mono_font.inc" - -#include "font_normal.inc" -#include "font_source.inc" -#include "font_large.inc" +#include "font_lodpi.inc" +#include "font_hidpi.inc" typedef Map<const void*,Ref<ImageTexture> > TexCacheMap; @@ -124,21 +136,14 @@ static Ref<BitmapFont> make_font(int p_height,int p_ascent, int p_valign, int p_ return font; } + + static Ref<BitmapFont> make_font2(int p_height,int p_ascent, int p_charcount, const int *p_char_rects,int p_kerning_count,const int *p_kernings,int p_w, int p_h, const unsigned char *p_img) { Ref<BitmapFont> font( memnew( BitmapFont ) ); - DVector<uint8_t> img; - img.resize(p_w*p_h*2); - { - DVector<uint8_t>::Write w = img.write(); - for(int i=0;i<(p_w*p_h*2);i++) { - w[i]=p_img[i]; - } - } - - Image image(p_w,p_h,0,Image::FORMAT_GRAYSCALE_ALPHA,img); + Image image(p_img); Ref<ImageTexture> tex = memnew( ImageTexture ); tex->create_from_image(image); @@ -661,12 +666,14 @@ void fill_default_theme(Ref<Theme>& t,const Ref<Font> & default_font,const Ref<F t->set_color("cursor_color","Tree", Color(0,0,0) ); t->set_color("guide_color","Tree", Color(0,0,0,0.1) ); t->set_color("drop_position_color","Tree", Color(1,0.3,0.2) ); + t->set_color("relationship_line_color", "Tree", Color::html("464646") ); t->set_constant("hseparation","Tree",4 *scale); t->set_constant("vseparation","Tree",4 *scale); t->set_constant("guide_width","Tree",2 *scale); t->set_constant("item_margin","Tree",12 *scale); t->set_constant("button_margin","Tree",4 *scale); + t->set_constant("draw_relationship_lines", "Tree", 0); // ItemList @@ -924,16 +931,23 @@ void fill_default_theme(Ref<Theme>& t,const Ref<Font> & default_font,const Ref<F } -void make_default_theme() { +void make_default_theme(bool p_hidpi,Ref<Font> p_font) { Ref<Theme> t; t.instance(); Ref<StyleBox> default_style; Ref<Texture> default_icon; - Ref<BitmapFont> default_font=make_font2(_builtin_normal_font_height,_builtin_normal_font_ascent,_builtin_normal_font_charcount,&_builtin_normal_font_charrects[0][0],_builtin_normal_font_kerning_pair_count,&_builtin_normal_font_kerning_pairs[0][0],_builtin_normal_font_img_width,_builtin_normal_font_img_height,_builtin_normal_font_img_data); - Ref<BitmapFont> large_font=make_font2(_builtin_large_font_height,_builtin_large_font_ascent,_builtin_large_font_charcount,&_builtin_large_font_charrects[0][0],_builtin_large_font_kerning_pair_count,&_builtin_large_font_kerning_pairs[0][0],_builtin_large_font_img_width,_builtin_large_font_img_height,_builtin_large_font_img_data); - fill_default_theme(t,default_font,large_font,default_icon,default_style,false); + Ref<BitmapFont> default_font; + if (p_font.is_valid()) { + default_font=p_font; + } if (p_hidpi) { + default_font=make_font2(_hidpi_font_height,_hidpi_font_ascent,_hidpi_font_charcount,&_hidpi_font_charrects[0][0],_hidpi_font_kerning_pair_count,&_hidpi_font_kerning_pairs[0][0],_hidpi_font_img_width,_hidpi_font_img_height,_hidpi_font_img_data); + } else { + default_font=make_font2(_lodpi_font_height,_lodpi_font_ascent,_lodpi_font_charcount,&_lodpi_font_charrects[0][0],_lodpi_font_kerning_pair_count,&_lodpi_font_kerning_pairs[0][0],_lodpi_font_img_width,_lodpi_font_img_height,_lodpi_font_img_data); + } + Ref<BitmapFont> large_font=default_font; + fill_default_theme(t,default_font,large_font,default_icon,default_style,p_hidpi); Theme::set_default( t ); Theme::set_default_icon( default_icon ); @@ -950,6 +964,3 @@ void clear_default_theme() { Theme::set_default_font( Ref< Font >() ); } - - - diff --git a/scene/resources/default_theme/default_theme.h b/scene/resources/default_theme/default_theme.h index 1e3b4b4081..a2a45ac004 100644 --- a/scene/resources/default_theme/default_theme.h +++ b/scene/resources/default_theme/default_theme.h @@ -1,13 +1,31 @@ -/*************************************************/ -/* default_theme.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ +/*************************************************************************/ +/* default_theme.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef DEFAULT_THEME_H #define DEFAULT_THEME_H @@ -18,7 +36,7 @@ */ void fill_default_theme(Ref<Theme>& theme,const Ref<Font> & default_font,const Ref<Font> & large_font,Ref<Texture>& default_icon, Ref<StyleBox>& default_style,bool p_hidpi); -void make_default_theme(); +void make_default_theme(bool p_hidpi, Ref<Font> p_font); void clear_default_theme(); #endif diff --git a/scene/resources/default_theme/font_bold.png b/scene/resources/default_theme/font_bold.png Binary files differdeleted file mode 100644 index bc2704e193..0000000000 --- a/scene/resources/default_theme/font_bold.png +++ /dev/null diff --git a/scene/resources/default_theme/font_hidpi.inc b/scene/resources/default_theme/font_hidpi.inc new file mode 100644 index 0000000000..2fc0f56c3f --- /dev/null +++ b/scene/resources/default_theme/font_hidpi.inc @@ -0,0 +1,25461 @@ +static const int _hidpi_font_height=25; +static const int _hidpi_font_ascent=19; +static const int _hidpi_font_charcount=191; +static const int _hidpi_font_charrects[191][8]={ +/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ +{192,63,23,16,23,-4,-1,15}, +{224,184,182,10,19,0,1,13}, +{64,98,2,18,19,2,1,21}, +{96,159,234,5,4,0,5,14}, +{160,0,0,0,0,19,0,6}, +{32,0,0,0,0,19,0,6}, +{33,2,249,3,17,2,2,6}, +{193,83,25,16,23,-4,-1,15}, +{225,92,160,10,19,0,1,13}, +{65,163,23,16,17,2,-1,15}, +{161,246,236,3,17,6,2,6}, +{97,142,190,10,13,6,1,13}, +{162,67,214,9,17,2,2,13}, +{98,242,136,11,18,1,2,14}, +{194,103,25,16,23,-4,-1,15}, +{226,106,160,10,19,0,1,13}, +{66,122,146,11,17,2,2,15}, +{34,226,203,8,6,2,1,10}, +{35,189,44,14,17,2,1,16}, +{163,62,166,11,17,2,1,13}, +{195,123,23,16,23,-4,-1,15}, +{227,134,167,10,19,0,1,13}, +{67,209,65,12,17,2,1,14}, +{99,225,186,9,13,6,1,11}, +{228,170,182,10,18,1,1,13}, +{100,227,143,11,18,1,1,14}, +{196,23,23,16,22,-3,-1,15}, +{36,2,179,10,20,1,2,13}, +{68,193,65,12,17,2,2,16}, +{164,176,65,13,12,5,0,13}, +{37,120,2,18,17,2,1,20}, +{69,41,222,9,17,2,2,13}, +{165,98,99,12,17,2,1,13}, +{197,43,23,16,21,-2,-1,15}, +{229,16,179,10,20,-1,1,13}, +{101,189,109,11,13,6,1,13}, +{38,183,23,16,17,2,1,17}, +{70,54,222,9,17,2,2,12}, +{198,75,2,19,17,2,-1,20}, +{102,202,212,8,18,1,1,8}, +{166,44,268,2,24,1,6,13}, +{230,142,2,18,13,6,1,20}, +{71,2,71,14,17,2,1,17}, +{167,176,160,10,18,1,0,12}, +{199,146,94,12,23,2,1,14}, +{103,159,67,13,19,6,0,13}, +{231,212,189,9,19,6,1,11}, +{39,30,271,3,6,2,1,5}, +{72,130,99,12,17,2,2,17}, +{104,162,160,10,18,1,2,14}, +{200,238,186,9,23,-4,2,13}, +{40,46,243,7,21,2,1,7}, +{232,2,156,11,19,0,1,13}, +{168,68,235,7,3,1,4,14}, +{73,106,209,8,17,2,0,9}, +{169,230,2,17,17,2,1,20}, +{105,222,232,4,18,1,1,6}, +{201,28,222,9,23,-4,2,13}, +{41,130,238,6,21,2,0,7}, +{233,197,126,11,19,0,1,13}, +{202,93,209,9,23,-4,2,13}, +{74,13,225,7,22,2,-2,7}, +{234,167,137,11,19,0,1,13}, +{42,82,120,12,11,1,0,13}, +{170,100,236,6,8,2,1,8}, +{106,110,237,6,24,1,-1,6}, +{171,144,121,11,10,8,0,12}, +{43,2,119,12,12,5,1,13}, +{203,80,209,9,22,-3,2,13}, +{107,32,177,11,18,1,2,12}, +{235,77,166,11,18,1,1,13}, +{75,74,77,13,17,2,2,14}, +{44,230,213,4,6,16,1,6}, +{172,204,109,11,7,10,1,13}, +{236,204,234,5,19,0,0,6}, +{204,130,211,8,23,-4,0,9}, +{108,23,271,3,18,1,2,6}, +{76,86,188,10,17,2,2,12}, +{173,140,238,6,2,12,1,8}, +{45,120,237,6,2,12,1,8}, +{109,208,2,18,13,6,2,22}, +{205,178,205,8,23,-4,0,9}, +{237,213,234,5,19,0,2,6}, +{77,143,19,16,17,2,2,21}, +{46,9,251,3,3,16,2,6}, +{110,100,183,10,13,6,2,14}, +{206,154,207,8,23,-4,0,9}, +{238,238,213,8,19,0,-1,6}, +{174,2,23,17,17,2,1,20}, +{78,91,78,13,17,2,2,18}, +{175,18,125,12,2,-1,0,12}, +{111,162,90,12,13,6,1,14}, +{207,118,211,8,22,-3,0,9}, +{239,24,249,7,18,1,0,6}, +{79,203,23,15,17,2,1,18}, +{47,120,167,10,17,2,-1,9}, +{176,166,207,8,8,2,1,10}, +{112,212,143,11,19,6,2,14}, +{240,18,103,12,18,1,1,14}, +{208,171,44,14,17,2,0,16}, +{80,128,190,10,17,2,2,14}, +{48,234,115,11,17,2,1,13}, +{177,66,127,12,14,5,1,13}, +{113,182,126,11,19,6,1,14}, +{241,30,199,10,19,0,2,14}, +{81,97,52,15,22,2,1,18}, +{209,142,67,13,23,-4,2,18}, +{49,57,243,7,17,2,2,13}, +{178,190,206,8,10,2,0,8}, +{114,142,207,8,13,6,2,10}, +{242,242,87,12,19,0,1,14}, +{210,59,50,15,23,-4,1,18}, +{82,82,99,12,17,2,2,14}, +{50,2,135,11,17,2,1,13}, +{179,35,249,7,10,2,0,8}, +{115,72,188,10,13,6,0,11}, +{243,226,92,12,19,0,1,14}, +{211,40,49,15,23,-4,1,18}, +{83,129,125,11,17,2,0,13}, +{51,17,135,11,17,2,1,13}, +{180,168,219,5,4,0,5,14}, +{116,214,212,8,16,3,0,8}, +{244,194,86,12,19,0,1,14}, +{212,21,49,15,23,-4,1,18}, +{84,66,106,12,17,2,0,13}, +{52,125,78,13,17,2,0,13}, +{53,32,156,11,17,2,1,13}, +{85,50,106,12,17,2,2,17}, +{181,204,166,10,19,6,2,14}, +{117,198,189,10,13,6,2,14}, +{245,178,86,12,19,0,1,14}, +{213,2,44,15,23,-4,1,18}, +{54,47,156,11,17,2,1,13}, +{86,222,23,15,17,2,-1,14}, +{246,241,65,12,18,1,1,14}, +{214,116,52,15,22,-3,1,18}, +{182,34,131,12,21,1,1,16}, +{118,135,50,14,13,6,-1,12}, +{55,62,145,11,17,2,1,13}, +{87,2,2,22,17,2,-1,21}, +{119,28,2,20,13,6,-1,18}, +{215,114,125,11,11,5,1,13}, +{247,210,92,12,10,6,0,13}, +{183,16,251,3,3,9,2,6}, +{56,77,145,11,17,2,1,13}, +{88,225,44,14,17,2,-1,13}, +{216,78,52,15,19,1,1,18}, +{248,98,120,12,15,5,1,14}, +{120,50,127,12,13,6,0,12}, +{184,150,234,5,6,19,0,5}, +{89,207,44,14,17,2,-1,13}, +{121,153,44,14,19,6,-1,12}, +{217,225,65,12,23,-4,2,17}, +{249,44,199,10,19,0,2,14}, +{57,92,139,11,17,2,1,13}, +{185,177,232,5,10,2,0,8}, +{218,2,92,12,23,-4,2,17}, +{250,156,184,10,19,0,2,14}, +{90,232,165,10,17,2,1,13}, +{122,148,167,10,13,6,1,11}, +{58,37,263,3,13,6,2,6}, +{186,90,236,6,8,2,1,8}, +{219,34,104,12,23,-4,2,17}, +{123,2,224,7,21,2,1,9}, +{91,186,232,5,21,2,2,7}, +{251,58,191,10,19,0,2,14}, +{59,238,236,4,16,6,1,6}, +{187,47,177,11,10,8,1,12}, +{188,164,2,18,17,2,0,18}, +{252,190,149,10,18,1,2,14}, +{124,50,268,2,24,1,6,13}, +{220,114,99,12,22,-3,2,17}, +{92,137,146,11,17,2,-1,9}, +{60,159,121,11,12,5,1,13}, +{189,186,2,18,17,2,0,18}, +{253,56,77,14,25,0,-1,12}, +{221,20,76,14,23,-4,-1,13}, +{125,79,235,7,21,2,1,9}, +{93,195,234,5,21,2,0,7}, +{61,152,137,11,6,8,1,13}, +{190,52,2,19,17,2,0,18}, +{222,114,188,10,17,2,2,14}, +{254,219,115,11,24,1,2,14}, +{62,174,109,11,12,5,1,13}, +{94,108,78,13,11,2,0,13}, +{126,107,140,11,5,8,1,13}, +{223,17,156,11,18,1,2,14}, +{191,15,203,9,18,6,0,10}, +{255,38,76,14,24,1,-1,12}, +{63,2,203,9,17,2,0,10}, +{95,218,166,10,2,21,0,10}, +}; +static const int _hidpi_font_kerning_pair_count=0; +static const int _hidpi_font_kerning_pairs[1][3]={ +{0,0,0} +}; +static const int _hidpi_font_img_width=256; +static const int _hidpi_font_img_height=512; +static const int _hidpi_font_img_data_size=25255; +static const unsigned char _hidpi_font_img_data[25255]={ +137, +80, +78, +71, +13, +10, +26, +10, +0, +0, +0, +13, +73, +72, +68, +82, +0, +0, +1, +0, +0, +0, +2, +0, +8, +6, +0, +0, +0, +109, +154, +178, +251, +0, +0, +32, +0, +73, +68, +65, +84, +120, +156, +236, +157, +119, +184, +38, +53, +245, +199, +51, +84, +165, +55, +1, +21, +16, +41, +34, +42, +130, +98, +23, +1, +21, +20, +84, +108, +40, +138, +138, +10, +34, +40, +86, +148, +159, +216, +11, +34, +138, +130, +162, +40, +32, +160, +128, +160, +2, +162, +32, +162, +34, +34, +29, +145, +142, +235, +210, +219, +210, +151, +14, +219, +251, +231, +247, +199, +57, +97, +114, +231, +205, +204, +100, +102, +50, +239, +189, +119, +111, +190, +207, +179, +207, +221, +55, +57, +57, +147, +153, +73, +206, +36, +39, +167, +24, +147, +144, +144, +144, +144, +144, +144, +48, +129, +1, +172, +75, +142, +45, +74, +104, +158, +231, +208, +188, +176, +132, +230, +85, +14, +205, +58, +158, +250, +245, +156, +250, +103, +121, +234, +95, +237, +212, +239, +225, +169, +95, +25, +88, +160, +245, +235, +122, +234, +55, +5, +78, +0, +238, +5, +230, +2, +83, +128, +95, +2, +107, +149, +244, +119, +105, +224, +22, +224, +65, +96, +37, +31, +77, +8, +128, +143, +211, +0, +129, +60, +215, +1, +190, +8, +156, +15, +220, +13, +204, +1, +30, +7, +38, +1, +63, +3, +182, +12, +228, +243, +33, +224, +102, +109, +255, +63, +224, +109, +21, +180, +235, +3, +179, +244, +249, +173, +88, +195, +119, +109, +224, +43, +192, +101, +192, +19, +250, +188, +239, +5, +126, +3, +108, +160, +52, +27, +0, +191, +7, +30, +86, +190, +215, +0, +159, +0, +150, +168, +224, +187, +42, +112, +172, +62, +170, +211, +42, +232, +26, +189, +187, +62, +248, +42, +175, +235, +244, +255, +239, +211, +103, +49, +67, +223, +211, +133, +246, +89, +3, +75, +0, +159, +5, +174, +211, +231, +240, +36, +240, +79, +224, +117, +117, +253, +214, +246, +43, +105, +251, +127, +1, +143, +0, +243, +245, +239, +185, +192, +103, +234, +222, +85, +16, +128, +27, +244, +134, +246, +45, +169, +255, +164, +51, +134, +247, +41, +161, +249, +138, +214, +79, +174, +184, +206, +205, +74, +243, +126, +79, +221, +33, +206, +53, +78, +247, +212, +239, +164, +117, +55, +150, +240, +254, +43, +48, +93, +7, +225, +87, +129, +95, +1, +139, +128, +127, +149, +208, +127, +65, +249, +125, +188, +172, +191, +33, +0, +174, +5, +22, +2, +151, +56, +253, +191, +86, +127, +15, +252, +171, +225, +245, +52, +224, +251, +192, +108, +229, +115, +43, +112, +6, +112, +52, +112, +18, +112, +149, +94, +11, +224, +52, +96, +149, +10, +94, +175, +215, +251, +183, +130, +240, +126, +29, +60, +94, +225, +1, +156, +165, +124, +119, +14, +184, +231, +43, +149, +118, +1, +112, +35, +112, +5, +50, +209, +1, +30, +211, +107, +63, +166, +191, +239, +214, +241, +101, +251, +125, +98, +9, +207, +247, +2, +83, +129, +187, +128, +153, +84, +79, +212, +224, +119, +215, +35, +95, +144, +9, +253, +85, +253, +255, +125, +250, +126, +158, +212, +223, +139, +128, +157, +245, +61, +161, +215, +191, +70, +251, +128, +190, +139, +87, +215, +92, +99, +39, +224, +81, +100, +194, +31, +13, +236, +14, +188, +93, +255, +30, +173, +229, +143, +80, +33, +216, +131, +0, +28, +166, +157, +250, +75, +73, +253, +105, +136, +148, +159, +11, +156, +82, +66, +115, +142, +242, +56, +164, +226, +58, +63, +87, +154, +35, +60, +117, +183, +235, +96, +189, +18, +145, +164, +79, +43, +212, +31, +170, +109, +127, +90, +194, +123, +85, +96, +181, +66, +217, +121, +192, +116, +15, +237, +26, +136, +164, +254, +47, +21, +95, +164, +58, +0, +175, +209, +62, +253, +85, +127, +91, +120, +87, +82, +53, +188, +214, +0, +254, +173, +237, +79, +1, +94, +80, +66, +183, +46, +240, +107, +165, +187, +17, +88, +181, +132, +238, +79, +74, +179, +137, +254, +126, +169, +254, +62, +201, +67, +251, +110, +247, +62, +2, +250, +250, +38, +224, +115, +238, +243, +70, +190, +158, +71, +58, +131, +127, +33, +176, +139, +83, +255, +34, +100, +34, +2, +188, +215, +195, +243, +64, +224, +183, +192, +234, +84, +76, +212, +166, +239, +174, +71, +190, +22, +243, +129, +15, +58, +229, +203, +33, +31, +35, +128, +121, +200, +234, +235, +237, +133, +235, +92, +163, +245, +103, +84, +240, +255, +178, +62, +195, +31, +0, +43, +148, +208, +172, +0, +28, +172, +116, +95, +174, +235, +115, +213, +205, +236, +168, +29, +122, +18, +88, +178, +80, +183, +4, +34, +133, +174, +212, +127, +15, +120, +218, +47, +67, +46, +217, +182, +171, +184, +206, +59, +148, +102, +114, +161, +124, +11, +45, +63, +94, +111, +24, +224, +45, +5, +154, +171, +181, +188, +86, +218, +33, +95, +210, +215, +35, +203, +211, +223, +122, +234, +127, +161, +188, +222, +80, +199, +171, +230, +58, +191, +85, +62, +239, +208, +223, +22, +141, +4, +0, +176, +20, +178, +66, +152, +15, +236, +22, +216, +102, +95, +189, +214, +159, +75, +234, +239, +5, +110, +45, +148, +221, +9, +220, +89, +40, +91, +1, +184, +7, +249, +154, +61, +183, +73, +191, +61, +215, +92, +203, +121, +6, +199, +121, +234, +247, +215, +186, +127, +212, +240, +129, +242, +137, +218, +250, +221, +197, +228, +235, +220, +231, +209, +158, +186, +45, +156, +250, +67, +61, +245, +239, +209, +186, +7, +75, +120, +239, +132, +76, +234, +93, +245, +247, +18, +192, +222, +200, +252, +155, +137, +204, +199, +75, +128, +79, +107, +253, +110, +74, +223, +110, +37, +128, +72, +173, +57, +218, +169, +87, +20, +234, +236, +151, +227, +112, +231, +33, +109, +82, +160, +217, +74, +203, +103, +0, +203, +86, +92, +103, +37, +29, +228, +139, +128, +213, +157, +242, +3, +180, +253, +135, +145, +175, +11, +192, +145, +78, +253, +202, +122, +131, +243, +40, +145, +134, +14, +173, +139, +127, +22, +251, +3, +188, +0, +89, +186, +122, +39, +78, +40, +128, +103, +32, +43, +162, +251, +80, +161, +233, +92, +183, +169, +0, +248, +134, +182, +251, +124, +195, +118, +118, +121, +249, +90, +79, +221, +60, +224, +226, +66, +217, +165, +192, +220, +66, +217, +143, +149, +199, +87, +155, +92, +187, +162, +79, +115, +149, +223, +174, +158, +186, +55, +106, +221, +35, +53, +60, +192, +51, +81, +187, +190, +187, +152, +124, +157, +119, +61, +48, +233, +128, +167, +59, +245, +59, +120, +234, +55, +211, +186, +5, +37, +109, +31, +6, +14, +114, +202, +78, +82, +250, +169, +250, +255, +211, +149, +230, +215, +14, +205, +193, +200, +118, +160, +157, +78, +0, +81, +42, +0, +236, +95, +40, +255, +63, +251, +66, +129, +15, +234, +255, +247, +46, +208, +216, +1, +124, +86, +192, +117, +46, +85, +218, +119, +56, +101, +215, +35, +66, +97, +45, +125, +0, +179, +129, +123, +157, +122, +187, +255, +191, +48, +128, +255, +14, +200, +222, +235, +8, +109, +115, +80, +161, +254, +108, +100, +114, +108, +92, +199, +171, +230, +58, +86, +231, +241, +93, +167, +204, +34, +88, +0, +32, +66, +241, +9, +100, +133, +147, +57, +229, +203, +34, +203, +192, +201, +136, +112, +158, +141, +124, +193, +207, +36, +95, +214, +219, +47, +141, +111, +75, +53, +157, +130, +206, +1, +217, +98, +76, +115, +126, +111, +142, +12, +252, +27, +128, +165, +27, +244, +121, +73, +68, +241, +117, +18, +162, +220, +186, +31, +152, +166, +207, +53, +4, +11, +107, +248, +131, +127, +162, +118, +122, +119, +49, +249, +58, +247, +178, +89, +77, +253, +139, +61, +117, +27, +217, +74, +79, +221, +199, +16, +37, +228, +242, +250, +251, +189, +74, +122, +5, +35, +63, +154, +203, +0, +43, +59, +191, +87, +64, +4, +192, +103, +66, +239, +161, +120, +97, +59, +209, +255, +81, +40, +63, +91, +203, +159, +173, +255, +0, +126, +87, +160, +57, +79, +203, +63, +29, +112, +157, +111, +43, +237, +161, +250, +219, +158, +48, +92, +234, +208, +252, +93, +203, +94, +170, +191, +237, +254, +255, +107, +13, +239, +233, +66, +224, +9, +231, +183, +221, +234, +252, +184, +9, +31, +15, +223, +37, +16, +125, +197, +66, +224, +57, +78, +185, +69, +19, +1, +176, +151, +182, +249, +136, +83, +182, +52, +114, +2, +0, +162, +80, +60, +4, +89, +129, +221, +173, +101, +175, +117, +104, +239, +3, +174, +247, +240, +189, +137, +193, +45, +192, +20, +84, +137, +10, +100, +228, +58, +135, +109, +27, +244, +119, +13, +70, +42, +1, +255, +131, +40, +94, +127, +10, +28, +228, +60, +131, +235, +40, +81, +132, +82, +175, +12, +133, +194, +68, +141, +241, +238, +98, +242, +117, +238, +115, +163, +166, +245, +84, +11, +128, +243, +25, +185, +250, +253, +135, +146, +110, +19, +208, +167, +163, +129, +115, +155, +220, +135, +219, +120, +115, +189, +208, +12, +244, +107, +64, +190, +183, +191, +201, +161, +187, +13, +184, +207, +249, +189, +44, +185, +214, +218, +251, +48, +10, +215, +121, +173, +210, +94, +166, +191, +191, +172, +191, +247, +115, +104, +62, +165, +101, +223, +208, +223, +118, +192, +189, +162, +130, +239, +42, +133, +223, +75, +34, +95, +182, +71, +244, +247, +82, +246, +183, +75, +11, +124, +196, +55, +48, +106, +238, +225, +237, +218, +230, +239, +133, +242, +90, +120, +120, +157, +170, +85, +207, +112, +202, +172, +48, +62, +13, +88, +202, +41, +63, +89, +203, +95, +228, +148, +93, +12, +60, +238, +225, +251, +59, +165, +45, +42, +1, +79, +214, +223, +123, +235, +239, +19, +244, +119, +208, +145, +33, +162, +167, +1, +81, +150, +61, +167, +80, +151, +57, +183, +218, +90, +191, +82, +124, +31, +177, +222, +93, +13, +223, +117, +17, +1, +118, +135, +62, +131, +59, +145, +15, +79, +153, +2, +206, +34, +182, +0, +120, +20, +248, +168, +243, +219, +30, +253, +45, +89, +164, +245, +180, +221, +157, +154, +237, +85, +85, +227, +12, +120, +64, +251, +181, +149, +150, +109, +173, +191, +143, +112, +232, +236, +121, +234, +70, +250, +123, +91, +253, +125, +91, +224, +117, +150, +66, +148, +141, +115, +144, +47, +157, +61, +62, +219, +208, +161, +89, +95, +203, +46, +66, +20, +122, +243, +245, +193, +84, +157, +33, +207, +65, +142, +204, +190, +11, +124, +29, +153, +24, +0, +7, +107, +253, +167, +245, +247, +167, +156, +54, +175, +64, +246, +85, +115, +66, +7, +145, +182, +179, +171, +162, +119, +21, +202, +45, +130, +143, +1, +145, +163, +190, +187, +10, +101, +147, +148, +207, +250, +37, +215, +93, +199, +41, +59, +135, +194, +190, +94, +203, +95, +137, +124, +161, +167, +144, +31, +3, +46, +68, +236, +45, +158, +129, +28, +211, +61, +166, +255, +15, +62, +50, +212, +247, +0, +126, +77, +254, +218, +206, +51, +104, +183, +20, +53, +222, +137, +26, +229, +221, +85, +241, +5, +254, +172, +207, +224, +12, +228, +163, +100, +79, +90, +6, +148, +200, +14, +47, +136, +47, +0, +22, +48, +242, +212, +96, +62, +30, +197, +123, +201, +53, +223, +14, +204, +15, +161, +45, +99, +240, +27, +237, +151, +253, +242, +126, +71, +127, +191, +199, +161, +249, +144, +150, +125, +76, +127, +219, +37, +253, +207, +27, +92, +231, +207, +218, +230, +213, +200, +222, +107, +146, +135, +102, +178, +214, +109, +163, +180, +127, +168, +225, +121, +16, +114, +44, +54, +83, +7, +197, +100, +196, +152, +102, +73, +228, +136, +240, +17, +68, +215, +176, +148, +210, +175, +141, +104, +202, +247, +68, +20, +87, +161, +131, +104, +35, +29, +40, +247, +227, +124, +157, +181, +206, +162, +201, +22, +224, +73, +224, +170, +66, +217, +108, +224, +81, +15, +237, +85, +202, +127, +69, +167, +236, +106, +28, +125, +73, +129, +254, +29, +200, +23, +110, +174, +254, +221, +89, +203, +237, +123, +222, +75, +127, +255, +81, +127, +23, +87, +11, +3, +103, +246, +228, +202, +226, +55, +122, +234, +236, +106, +14, +224, +114, +28, +157, +70, +19, +104, +251, +211, +244, +255, +49, +223, +93, +41, +95, +96, +53, +224, +85, +5, +250, +243, +128, +89, +21, +188, +160, +255, +21, +192, +195, +200, +60, +8, +57, +154, +108, +191, +2, +80, +6, +86, +201, +247, +47, +253, +125, +1, +131, +26, +251, +117, +148, +230, +4, +135, +6, +26, +28, +65, +144, +75, +222, +163, +245, +239, +119, +60, +52, +7, +219, +235, +232, +223, +214, +6, +59, +192, +79, +148, +199, +14, +250, +123, +25, +68, +25, +249, +91, +253, +253, +212, +192, +8, +224, +101, +245, +17, +85, +104, +34, +0, +230, +1, +255, +46, +148, +61, +12, +60, +89, +40, +179, +43, +39, +236, +96, +32, +63, +189, +105, +162, +189, +182, +43, +182, +127, +163, +19, +20, +255, +145, +225, +20, +10, +71, +134, +90, +110, +183, +99, +167, +0, +203, +104, +89, +134, +28, +69, +205, +70, +116, +2, +183, +43, +205, +177, +192, +154, +78, +219, +117, +16, +163, +178, +183, +54, +232, +111, +180, +119, +87, +197, +183, +132, +230, +122, +60, +31, +39, +231, +186, +16, +95, +0, +92, +200, +72, +29, +128, +213, +135, +189, +38, +224, +158, +142, +166, +196, +240, +45, +8, +192, +154, +200, +132, +159, +142, +44, +207, +103, +162, +230, +142, +5, +186, +219, +144, +189, +210, +82, +250, +210, +231, +160, +90, +203, +192, +235, +108, +162, +55, +53, +189, +108, +194, +0, +175, +211, +186, +25, +250, +119, +253, +150, +247, +180, +49, +50, +201, +254, +238, +148, +253, +18, +217, +195, +46, +167, +191, +131, +6, +17, +114, +66, +241, +168, +62, +35, +223, +18, +223, +162, +137, +0, +152, +138, +163, +99, +209, +178, +127, +41, +159, +173, +156, +178, +143, +146, +91, +211, +109, +168, +101, +86, +87, +50, +112, +228, +86, +114, +173, +101, +144, +85, +210, +124, +28, +237, +180, +62, +31, +223, +137, +129, +111, +107, +177, +141, +211, +143, +135, +145, +21, +136, +181, +250, +187, +9, +153, +228, +47, +39, +223, +42, +44, +210, +255, +91, +59, +17, +8, +80, +22, +235, +181, +162, +189, +187, +58, +190, +30, +154, +207, +107, +223, +119, +42, +169, +183, +136, +45, +0, +246, +98, +228, +41, +128, +181, +25, +248, +15, +176, +70, +129, +118, +25, +231, +255, +246, +20, +224, +115, +229, +119, +30, +0, +114, +43, +165, +119, +234, +95, +159, +33, +131, +213, +3, +216, +115, +221, +198, +154, +71, +114, +141, +246, +192, +87, +70, +235, +151, +116, +6, +214, +45, +109, +238, +69, +249, +156, +137, +12, +248, +23, +232, +239, +79, +40, +223, +13, +28, +154, +160, +65, +4, +236, +81, +117, +191, +206, +75, +111, +34, +0, +46, +213, +254, +173, +224, +148, +189, +81, +7, +223, +147, +136, +117, +221, +73, +58, +96, +63, +141, +28, +25, +94, +139, +216, +100, +204, +210, +246, +75, +85, +93, +195, +225, +251, +53, +223, +59, +37, +224, +200, +176, +80, +183, +53, +114, +108, +252, +48, +50, +177, +111, +68, +108, +57, +220, +99, +169, +231, +32, +71, +177, +119, +34, +203, +244, +25, +218, +239, +131, +128, +181, +3, +251, +27, +237, +221, +85, +241, +245, +212, +127, +82, +235, +247, +172, +224, +97, +17, +91, +0, +44, +135, +8, +204, +239, +57, +101, +118, +203, +246, +16, +162, +8, +62, +22, +177, +113, +113, +143, +116, +127, +160, +207, +102, +229, +34, +207, +70, +64, +108, +209, +33, +215, +56, +15, +44, +215, +200, +245, +0, +182, +99, +251, +249, +120, +141, +54, +200, +5, +212, +207, +157, +178, +186, +179, +234, +245, +43, +248, +217, +229, +239, +46, +37, +245, +22, +77, +4, +192, +129, +218, +230, +125, +133, +242, +183, +34, +75, +208, +185, +136, +118, +126, +119, +45, +223, +17, +89, +98, +63, +170, +207, +127, +117, +63, +231, +129, +235, +108, +128, +8, +140, +187, +41, +104, +182, +41, +63, +50, +108, +45, +120, +187, +34, +246, +187, +171, +226, +91, +168, +255, +54, +34, +120, +223, +226, +171, +31, +6, +128, +119, +225, +152, +82, +35, +91, +172, +61, +80, +161, +140, +163, +220, +213, +250, +15, +40, +253, +59, +99, +92, +252, +245, +250, +128, +158, +64, +164, +224, +128, +101, +17, +185, +30, +224, +113, +253, +251, +34, +31, +175, +209, +4, +178, +130, +248, +175, +246, +209, +213, +97, +124, +222, +243, +15, +228, +220, +250, +243, +148, +120, +129, +33, +90, +103, +144, +229, +153, +215, +104, +198, +25, +136, +77, +4, +192, +198, +250, +66, +175, +43, +227, +27, +3, +192, +223, +180, +111, +239, +242, +212, +149, +29, +25, +54, +222, +91, +199, +64, +236, +119, +87, +199, +215, +169, +251, +37, +34, +12, +159, +223, +215, +189, +133, +2, +57, +201, +90, +8, +124, +143, +146, +237, +53, +176, +60, +242, +193, +94, +8, +124, +61, +214, +133, +151, +33, +223, +119, +95, +86, +65, +119, +155, +210, +220, +19, +229, +194, +145, +65, +110, +96, +227, +245, +112, +44, +208, +214, +14, +118, +114, +101, +228, +193, +53, +124, +160, +161, +55, +32, +185, +213, +226, +81, +116, +112, +78, +170, +232, +151, +221, +71, +122, +45, +53, +41, +63, +50, +12, +114, +89, +141, +141, +216, +239, +46, +132, +47, +114, +252, +55, +19, +248, +166, +71, +200, +120, +173, +253, +250, +6, +178, +18, +120, +28, +249, +232, +28, +137, +232, +129, +222, +174, +127, +143, +212, +242, +199, +136, +241, +229, +47, +92, +248, +47, +250, +160, +190, +87, +65, +99, +245, +0, +199, +70, +189, +120, +4, +32, +230, +181, +15, +34, +190, +221, +181, +95, +213, +186, +65, +132, +120, +146, +205, +70, +246, +229, +165, +198, +78, +4, +160, +164, +221, +178, +228, +74, +196, +243, +241, +216, +246, +59, +180, +27, +0, +95, +168, +187, +39, +135, +126, +69, +68, +203, +63, +139, +234, +237, +205, +187, +144, +189, +252, +92, +253, +235, +221, +230, +244, +141, +216, +239, +46, +148, +111, +205, +107, +251, +68, +219, +251, +233, +10, +96, +21, +228, +56, +251, +2, +100, +219, +183, +64, +255, +94, +128, +184, +47, +119, +219, +243, +39, +140, +13, +168, +16, +248, +57, +178, +237, +2, +57, +29, +248, +27, +112, +34, +162, +4, +252, +7, +98, +246, +91, +42, +72, +134, +216, +87, +23, +63, +11, +160, +255, +180, +219, +96, +24, +125, +76, +72, +24, +151, +0, +158, +139, +24, +96, +93, +128, +44, +197, +231, +32, +202, +175, +135, +16, +37, +208, +143, +40, +24, +172, +140, +66, +31, +93, +220, +75, +141, +193, +15, +35, +143, +72, +147, +0, +72, +72, +24, +207, +208, +121, +188, +8, +177, +182, +132, +10, +35, +21, +68, +97, +188, +8, +81, +212, +37, +1, +48, +70, +16, +93, +209, +148, +48, +225, +144, +25, +99, +206, +214, +255, +191, +167, +130, +238, +125, +74, +219, +41, +254, +66, +194, +144, +64, +79, +65, +8, +17, +207, +182, +219, +172, +210, +2, +177, +197, +190, +3, +245, +78, +107, +201, +115, +51, +196, +230, +124, +134, +46, +153, +91, +251, +248, +147, +219, +217, +79, +199, +241, +204, +155, +104, +32, +204, +235, +204, +194, +6, +111, +185, +171, +130, +246, +74, +29, +67, +79, +5, +141, +109, +208, +151, +23, +58, +215, +218, +60, +180, +93, +129, +199, +43, +16, +95, +135, +169, +228, +78, +101, +127, +35, +192, +189, +182, +132, +223, +106, +72, +28, +192, +75, +17, +165, +226, +60, +253, +123, +9, +240, +37, +234, +143, +34, +215, +38, +183, +164, +172, +220, +202, +57, +207, +108, +33, +129, +198, +83, +157, +64, +143, +65, +8, +201, +157, +72, +94, +171, +191, +109, +20, +161, +217, +29, +250, +123, +57, +162, +28, +219, +6, +241, +138, +187, +168, +3, +175, +231, +234, +139, +4, +79, +128, +141, +197, +9, +58, +8, +207, +67, +142, +152, +78, +67, +237, +22, +16, +123, +254, +251, +2, +218, +91, +108, +130, +24, +43, +129, +199, +85, +27, +57, +177, +0, +241, +98, +124, +81, +11, +1, +240, +67, +231, +90, +3, +22, +169, +1, +237, +183, +39, +87, +170, +62, +138, +152, +45, +91, +19, +229, +133, +148, +152, +249, +86, +240, +123, +55, +185, +237, +11, +136, +149, +227, +21, +228, +71, +226, +232, +24, +26, +112, +148, +42, +240, +185, +64, +105, +75, +143, +148, +149, +206, +250, +195, +92, +208, +164, +159, +173, +64, +207, +65, +8, +25, +92, +1, +172, +130, +172, +0, +188, +65, +70, +3, +121, +206, +68, +221, +82, +129, +93, +240, +4, +0, +109, +200, +111, +75, +196, +0, +106, +33, +240, +242, +46, +188, +10, +124, +215, +36, +183, +173, +184, +162, +3, +31, +87, +155, +30, +100, +79, +95, +194, +231, +56, +228, +88, +112, +50, +178, +63, +183, +251, +249, +89, +192, +49, +1, +237, +45, +54, +35, +247, +24, +253, +145, +135, +206, +70, +204, +253, +8, +121, +188, +137, +208, +208, +232, +75, +34, +167, +30, +211, +244, +223, +3, +4, +172, +78, +10, +60, +236, +170, +238, +120, +52, +52, +28, +114, +218, +98, +45, +88, +7, +252, +92, +42, +120, +237, +72, +30, +150, +254, +116, +10, +199, +193, +136, +233, +243, +239, +181, +126, +14, +21, +95, +119, +114, +31, +142, +74, +75, +75, +228, +200, +18, +28, +55, +232, +94, +192, +96, +16, +66, +23, +179, +16, +5, +206, +103, +28, +250, +110, +65, +8, +35, +1, +89, +94, +158, +133, +216, +166, +159, +67, +64, +200, +176, +0, +158, +91, +234, +96, +187, +33, +70, +31, +149, +231, +81, +250, +44, +31, +160, +16, +68, +163, +1, +143, +23, +33, +66, +196, +78, +136, +25, +148, +216, +178, +7, +240, +154, +10, +124, +64, +255, +255, +98, +68, +56, +63, +137, +172, +10, +188, +121, +20, +10, +237, +45, +182, +32, +143, +111, +119, +135, +135, +110, +146, +78, +134, +149, +112, +2, +101, +6, +246, +241, +205, +74, +126, +166, +254, +3, +216, +177, +225, +125, +218, +85, +231, +75, +10, +229, +91, +218, +137, +26, +200, +231, +105, +200, +105, +7, +72, +0, +151, +210, +83, +15, +228, +216, +22, +196, +124, +219, +43, +176, +24, +185, +13, +240, +90, +209, +146, +111, +127, +250, +93, +254, +227, +15, +66, +8, +178, +23, +62, +10, +248, +3, +185, +27, +234, +199, +28, +154, +110, +65, +8, +35, +0, +177, +129, +182, +152, +6, +60, +111, +180, +250, +82, +6, +196, +51, +110, +33, +178, +116, +108, +28, +46, +92, +121, +172, +133, +44, +55, +167, +33, +49, +20, +94, +167, +2, +224, +142, +144, +9, +235, +225, +23, +228, +60, +84, +209, +254, +41, +1, +160, +191, +109, +190, +135, +45, +29, +154, +77, +181, +236, +116, +253, +221, +84, +0, +216, +136, +203, +123, +34, +113, +242, +0, +126, +223, +176, +159, +214, +225, +236, +205, +133, +114, +203, +47, +200, +215, +129, +220, +77, +126, +54, +142, +123, +115, +9, +173, +13, +63, +14, +78, +220, +75, +15, +221, +133, +74, +243, +141, +146, +250, +175, +107, +125, +231, +143, +90, +37, +40, +4, +33, +212, +50, +128, +41, +206, +239, +151, +105, +217, +121, +78, +89, +227, +32, +132, +68, +80, +234, +20, +248, +117, +218, +35, +14, +3, +136, +85, +221, +84, +2, +179, +249, +148, +240, +184, +10, +49, +211, +117, +93, +120, +95, +138, +36, +155, +184, +170, +170, +109, +31, +240, +8, +0, +235, +208, +244, +125, +135, +198, +110, +13, +172, +67, +75, +176, +0, +64, +172, +23, +103, +34, +75, +238, +103, +32, +138, +183, +121, +200, +106, +52, +56, +139, +19, +121, +20, +235, +243, +200, +99, +31, +108, +71, +190, +143, +31, +240, +139, +40, +225, +99, +151, +246, +65, +39, +25, +228, +1, +86, +142, +175, +160, +177, +219, +185, +107, +75, +234, +109, +24, +252, +214, +91, +189, +32, +80, +8, +66, +168, +101, +69, +1, +176, +162, +150, +253, +175, +64, +215, +40, +8, +97, +204, +9, +75, +132, +61, +162, +135, +103, +84, +1, +53, +214, +209, +246, +126, +61, +2, +192, +78, +238, +91, +28, +154, +155, +144, +85, +202, +114, +5, +154, +16, +1, +96, +221, +174, +255, +233, +148, +89, +103, +166, +143, +85, +181, +45, +240, +121, +22, +185, +75, +249, +49, +200, +170, +98, +17, +34, +76, +62, +217, +128, +143, +93, +225, +4, +133, +78, +39, +143, +140, +52, +16, +172, +213, +161, +113, +183, +1, +235, +23, +234, +108, +26, +189, +133, +192, +51, +67, +251, +217, +10, +20, +66, +16, +105, +217, +83, +2, +0, +241, +79, +182, +46, +194, +71, +20, +232, +130, +67, +16, +197, +158, +176, +68, +216, +35, +122, +120, +142, +249, +21, +69, +76, +180, +189, +223, +162, +0, +208, +178, +91, +181, +108, +115, +103, +178, +255, +214, +169, +111, +34, +0, +172, +150, +124, +79, +167, +236, +35, +90, +214, +104, +73, +76, +158, +245, +200, +226, +82, +52, +218, +116, +3, +30, +118, +11, +252, +161, +64, +250, +221, +148, +254, +177, +26, +58, +187, +13, +216, +183, +80, +254, +89, +45, +111, +125, +170, +21, +12, +10, +65, +8, +181, +12, +68, +82, +90, +205, +181, +125, +112, +69, +23, +202, +224, +32, +132, +68, +158, +176, +68, +216, +35, +22, +248, +141, +249, +21, +69, +76, +126, +93, +238, +215, +233, +131, +43, +0, +108, +70, +167, +3, +157, +255, +239, +228, +212, +7, +9, +0, +68, +155, +110, +191, +210, +110, +234, +177, +149, +17, +165, +222, +34, +2, +163, +67, +33, +43, +9, +155, +142, +204, +226, +7, +33, +109, +11, +124, +172, +246, +191, +54, +111, +162, +210, +239, +172, +244, +149, +115, +131, +124, +27, +80, +76, +224, +114, +190, +150, +183, +14, +172, +26, +12, +202, +87, +0, +51, +16, +39, +148, +187, +245, +1, +108, +224, +105, +219, +100, +5, +16, +109, +194, +18, +105, +143, +88, +224, +57, +230, +87, +20, +49, +249, +117, +185, +95, +167, +15, +174, +0, +176, +154, +245, +155, +17, +229, +228, +99, +140, +12, +89, +21, +42, +0, +108, +146, +153, +129, +112, +93, +136, +203, +46, +192, +55, +107, +120, +44, +137, +28, +117, +218, +113, +252, +85, +36, +145, +137, +205, +90, +244, +253, +2, +189, +53, +104, +242, +70, +182, +70, +142, +134, +33, +60, +109, +91, +232, +10, +224, +153, +200, +50, +127, +33, +170, +92, +68, +242, +46, +44, +64, +4, +221, +64, +22, +237, +232, +160, +16, +132, +80, +203, +32, +223, +2, +216, +24, +248, +190, +140, +42, +65, +65, +8, +137, +60, +97, +137, +180, +71, +44, +240, +28, +211, +43, +138, +30, +248, +181, +190, +95, +114, +108, +81, +40, +191, +195, +169, +59, +182, +80, +23, +42, +0, +110, +161, +30, +183, +214, +240, +176, +123, +240, +135, +113, +210, +217, +35, +81, +150, +236, +209, +160, +171, +176, +252, +165, +150, +121, +147, +131, +32, +138, +92, +8, +215, +1, +212, +102, +202, +118, +104, +47, +82, +218, +143, +235, +239, +143, +234, +239, +139, +235, +218, +70, +1, +133, +32, +132, +90, +6, +35, +149, +128, +231, +107, +217, +235, +157, +178, +224, +32, +132, +68, +158, +176, +68, +220, +35, +106, +219, +49, +191, +162, +136, +201, +175, +235, +253, +146, +163, +40, +0, +126, +228, +212, +109, +87, +168, +171, +21, +0, +200, +17, +39, +200, +87, +187, +44, +171, +144, +13, +36, +91, +229, +128, +100, +163, +18, +15, +164, +178, +71, +12, +122, +158, +18, +2, +72, +102, +170, +57, +136, +197, +160, +215, +148, +156, +60, +55, +95, +232, +41, +128, +205, +204, +60, +144, +32, +213, +67, +251, +25, +165, +61, +189, +208, +246, +179, +33, +215, +234, +12, +252, +65, +8, +97, +164, +0, +216, +18, +89, +146, +92, +75, +30, +146, +58, +56, +8, +33, +113, +149, +58, +207, +33, +210, +30, +209, +105, +59, +30, +86, +20, +49, +183, +80, +157, +238, +151, +28, +69, +1, +96, +195, +166, +77, +101, +48, +203, +116, +136, +0, +176, +6, +83, +135, +87, +208, +252, +76, +105, +142, +170, +160, +177, +177, +3, +183, +45, +169, +127, +51, +121, +54, +43, +123, +74, +240, +195, +10, +126, +239, +83, +154, +57, +52, +179, +3, +120, +123, +21, +173, +210, +219, +109, +192, +147, +200, +92, +156, +174, +99, +248, +217, +117, +109, +163, +129, +193, +32, +132, +224, +8, +0, +45, +179, +22, +78, +31, +163, +65, +16, +66, +34, +79, +88, +34, +236, +17, +61, +237, +198, +244, +138, +162, +7, +126, +81, +239, +55, +6, +16, +19, +93, +59, +25, +95, +89, +65, +103, +29, +100, +30, +163, +36, +19, +53, +146, +238, +28, +224, +43, +21, +124, +118, +37, +199, +29, +84, +68, +31, +210, +190, +221, +165, +180, +191, +43, +163, +83, +90, +107, +102, +124, +19, +225, +74, +85, +187, +13, +248, +162, +254, +173, +204, +157, +216, +11, +232, +41, +8, +97, +236, +9, +75, +132, +61, +98, +129, +223, +115, +24, +227, +43, +138, +152, +252, +250, +184, +223, +24, +32, +143, +91, +88, +107, +157, +71, +190, +196, +247, +186, +33, +147, +39, +253, +152, +173, +207, +206, +205, +175, +184, +30, +146, +123, +241, +225, +194, +152, +57, +160, +230, +154, +111, +34, +63, +13, +56, +133, +193, +188, +136, +235, +145, +7, +87, +157, +67, +133, +16, +243, +240, +182, +219, +128, +251, +245, +111, +183, +216, +254, +109, +65, +15, +65, +8, +137, +56, +97, +137, +180, +71, +44, +240, +28, +15, +43, +138, +152, +91, +168, +232, +247, +27, +3, +228, +113, +40, +107, +175, +77, +110, +121, +120, +102, +73, +253, +74, +136, +167, +168, +197, +124, +228, +52, +203, +245, +228, +91, +136, +108, +57, +118, +116, +198, +204, +64, +134, +170, +2, +223, +119, +21, +120, +220, +166, +215, +113, +189, +1, +167, +226, +232, +202, +2, +239, +253, +89, +136, +224, +69, +255, +174, +83, +223, +170, +39, +16, +49, +8, +33, +145, +39, +44, +145, +246, +136, +5, +250, +49, +189, +162, +232, +129, +95, +212, +251, +141, +1, +100, +91, +99, +221, +118, +7, +142, +155, +61, +244, +214, +207, +96, +30, +37, +177, +27, +144, +204, +86, +159, +68, +20, +216, +54, +174, +197, +99, +136, +99, +219, +161, +56, +161, +191, +145, +109, +133, +61, +234, +251, +118, +205, +181, +215, +64, +132, +232, +101, +72, +152, +54, +27, +174, +237, +98, +100, +101, +209, +54, +94, +134, +77, +102, +251, +239, +122, +234, +113, +2, +34, +78, +88, +34, +238, +17, +29, +218, +49, +191, +162, +136, +201, +175, +143, +251, +77, +72, +240, +34, +246, +132, +37, +226, +30, +209, +161, +27, +15, +43, +138, +152, +91, +168, +232, +247, +155, +144, +224, +69, +236, +9, +75, +196, +61, +162, +210, +140, +249, +21, +69, +76, +126, +125, +220, +111, +66, +66, +41, +98, +78, +88, +250, +217, +35, +142, +249, +21, +69, +76, +126, +125, +220, +111, +194, +4, +3, +225, +231, +154, +209, +39, +108, +108, +196, +20, +80, +74, +19, +123, +203, +19, +155, +95, +212, +251, +13, +1, +162, +48, +179, +86, +119, +165, +249, +246, +144, +252, +136, +32, +182, +250, +107, +84, +208, +21, +177, +16, +57, +206, +187, +4, +177, +247, +95, +181, +97, +255, +214, +82, +62, +39, +20, +202, +47, +3, +30, +172, +104, +183, +10, +185, +210, +240, +131, +21, +116, +239, +82, +154, +39, +129, +85, +60, +245, +43, +146, +219, +44, +236, +81, +193, +103, +71, +165, +185, +135, +190, +3, +240, +208, +49, +96, +228, +120, +0, +227, +96, +69, +17, +147, +95, +31, +247, +27, +10, +242, +179, +241, +42, +75, +187, +131, +148, +230, +212, +26, +94, +22, +54, +247, +226, +127, +200, +163, +254, +160, +99, +118, +32, +155, +117, +5, +191, +237, +181, +221, +23, +157, +178, +12, +217, +86, +253, +179, +166, +237, +183, +181, +109, +105, +92, +65, +114, +205, +254, +129, +21, +52, +86, +72, +60, +130, +39, +211, +51, +18, +142, +204, +190, +223, +119, +135, +222, +91, +107, +208, +49, +96, +228, +68, +5, +241, +87, +20, +67, +255, +98, +247, +1, +36, +98, +51, +136, +243, +210, +64, +40, +50, +96, +9, +242, +120, +123, +111, +170, +225, +101, +81, +52, +65, +222, +20, +248, +179, +214, +45, +160, +196, +4, +216, +195, +239, +11, +218, +102, +123, +167, +204, +70, +50, +174, +244, +182, +100, +228, +42, +224, +205, +158, +122, +27, +69, +107, +186, +111, +98, +23, +104, +109, +223, +127, +229, +169, +179, +130, +198, +155, +216, +53, +58, +232, +24, +48, +114, +34, +130, +200, +95, +216, +216, +252, +70, +27, +136, +89, +44, +120, +108, +227, +129, +29, +180, +110, +10, +53, +153, +145, +203, +4, +128, +214, +101, +192, +201, +90, +127, +23, +97, +137, +69, +143, +87, +250, +181, +157, +178, +119, +106, +217, +71, +3, +218, +219, +201, +57, +224, +17, +75, +190, +242, +25, +136, +150, +236, +161, +93, +151, +220, +7, +96, +43, +167, +124, +67, +196, +154, +113, +38, +195, +178, +206, +164, +99, +192, +200, +132, +132, +34, +200, +191, +180, +103, +120, +234, +78, +209, +186, +111, +5, +240, +41, +21, +0, +90, +191, +6, +185, +147, +207, +7, +2, +248, +93, +13, +60, +84, +40, +179, +118, +23, +181, +81, +131, +24, +185, +10, +112, +3, +162, +174, +163, +2, +124, +22, +129, +31, +77, +96, +95, +229, +243, +63, +59, +7, +201, +205, +189, +27, +133, +224, +31, +115, +32, +82, +60, +123, +135, +95, +148, +56, +251, +9, +195, +1, +226, +33, +103, +93, +110, +215, +116, +202, +87, +213, +242, +133, +192, +122, +1, +124, +42, +5, +128, +210, +216, +128, +156, +94, +167, +29, +90, +160, +166, +79, +118, +21, +112, +170, +83, +102, +19, +122, +252, +180, +238, +158, +156, +54, +75, +2, +215, +104, +187, +47, +145, +235, +6, +38, +19, +176, +154, +137, +2, +58, +166, +61, +42, +225, +25, +45, +158, +189, +195, +179, +83, +156, +125, +82, +26, +176, +74, +32, +91, +16, +235, +82, +91, +186, +5, +1, +54, +82, +154, +218, +173, +7, +185, +59, +243, +126, +78, +153, +77, +144, +113, +118, +85, +91, +135, +222, +162, +74, +0, +236, +175, +52, +94, +227, +40, +224, +88, +253, +119, +186, +210, +93, +227, +148, +29, +139, +172, +32, +30, +118, +203, +106, +250, +100, +87, +1, +11, +144, +37, +251, +242, +200, +137, +204, +28, +26, +186, +244, +34, +122, +131, +133, +58, +71, +238, +69, +182, +4, +175, +107, +194, +163, +53, +136, +148, +246, +168, +192, +51, +106, +60, +123, +229, +25, +35, +206, +254, +132, +73, +3, +214, +22, +228, +138, +169, +82, +37, +36, +240, +93, +165, +249, +99, +0, +191, +173, +149, +246, +122, +167, +204, +10, +226, +247, +214, +180, +173, +68, +129, +214, +134, +227, +122, +162, +134, +167, +141, +219, +183, +135, +83, +182, +188, +142, +173, +63, +212, +221, +79, +129, +151, +93, +5, +28, +65, +190, +218, +109, +101, +73, +73, +110, +215, +1, +240, +235, +54, +60, +218, +92, +52, +90, +218, +163, +66, +187, +232, +241, +236, +137, +16, +103, +95, +249, +244, +146, +6, +172, +112, +141, +12, +9, +38, +81, +171, +87, +33, +242, +234, +139, +142, +201, +88, +201, +163, +233, +122, +143, +33, +245, +222, +166, +40, +77, +80, +134, +40, +242, +208, +90, +47, +37, +87, +92, +62, +140, +19, +59, +176, +164, +157, +181, +122, +180, +184, +214, +41, +187, +164, +64, +107, +39, +246, +188, +26, +158, +7, +40, +157, +187, +119, +183, +1, +77, +188, +201, +58, +42, +120, +217, +85, +192, +44, +125, +38, +243, +105, +169, +180, +3, +246, +113, +238, +179, +113, +0, +211, +54, +23, +140, +154, +246, +104, +60, +129, +142, +105, +192, +60, +147, +118, +46, +98, +172, +113, +1, +226, +137, +182, +159, +62, +175, +223, +214, +240, +9, +89, +125, +61, +68, +33, +204, +86, +13, +207, +78, +201, +88, +129, +101, +144, +179, +105, +240, +8, +124, +224, +245, +90, +231, +61, +222, +43, +225, +249, +121, +109, +115, +32, +185, +178, +205, +27, +135, +175, +164, +189, +69, +213, +22, +224, +163, +74, +83, +25, +172, +22, +9, +171, +182, +0, +120, +154, +83, +182, +167, +182, +13, +118, +119, +119, +218, +126, +219, +233, +95, +171, +47, +55, +226, +225, +249, +48, +162, +245, +159, +133, +108, +71, +106, +117, +35, +157, +64, +15, +105, +143, +38, +2, +60, +147, +246, +14, +157, +180, +247, +144, +251, +118, +131, +124, +201, +189, +249, +223, +148, +79, +211, +213, +87, +168, +87, +98, +231, +100, +172, +192, +225, +122, +221, +95, +120, +234, +236, +17, +90, +169, +129, +143, +167, +205, +106, +58, +206, +46, +35, +95, +254, +7, +235, +131, +2, +5, +128, +205, +72, +52, +201, +83, +231, +238, +245, +31, +211, +177, +236, +150, +93, +171, +109, +255, +68, +192, +254, +191, +192, +123, +21, +167, +127, +175, +14, +109, +87, +224, +113, +168, +182, +255, +46, +121, +124, +197, +147, +218, +240, +106, +114, +209, +232, +105, +143, +148, +46, +218, +146, +54, +38, +175, +24, +40, +76, +218, +211, +128, +13, +11, +245, +27, +147, +235, +24, +230, +80, +72, +78, +233, +208, +181, +89, +125, +221, +194, +144, +142, +106, +201, +141, +89, +30, +193, +209, +68, +35, +123, +101, +235, +132, +84, +106, +226, +91, +194, +243, +68, +125, +127, +139, +128, +203, +26, +182, +181, +168, +18, +0, +231, +42, +205, +128, +209, +26, +45, +16, +187, +127, +21, +109, +55, +66, +86, +144, +15, +34, +38, +194, +107, +144, +219, +6, +116, +218, +238, +214, +93, +184, +143, +180, +71, +209, +20, +138, +49, +121, +41, +191, +78, +194, +132, +145, +147, +246, +119, +120, +38, +45, +240, +33, +173, +183, +198, +60, +215, +151, +208, +181, +93, +125, +5, +229, +180, +139, +1, +228, +24, +10, +156, +21, +31, +240, +97, +45, +107, +52, +129, +181, +173, +221, +138, +64, +243, +112, +102, +22, +101, +118, +0, +27, +147, +167, +219, +42, +53, +9, +38, +87, +72, +126, +163, +80, +254, +16, +112, +121, +147, +62, +53, +233, +95, +77, +91, +27, +219, +97, +31, +167, +236, +123, +90, +118, +126, +219, +62, +133, +92, +56, +106, +218, +35, +226, +230, +81, +143, +170, +156, +36, +130, +48, +33, +159, +180, +179, +240, +56, +174, +32, +146, +251, +97, +29, +136, +111, +35, +159, +180, +3, +138, +50, +198, +199, +234, +235, +255, +244, +154, +238, +57, +183, +253, +202, +238, +21, +202, +199, +105, +187, +190, +182, +157, +14, +172, +208, +176, +173, +133, +207, +18, +240, +233, +228, +138, +194, +201, +84, +175, +166, +62, +169, +116, +174, +80, +123, +166, +150, +5, +47, +251, +155, +244, +175, +166, +157, +213, +167, +220, +204, +200, +248, +133, +171, +146, +27, +26, +213, +70, +24, +110, +5, +34, +166, +61, +34, +162, +66, +49, +38, +47, +165, +137, +34, +76, +28, +26, +239, +209, +23, +121, +84, +216, +159, +233, +111, +27, +231, +221, +183, +36, +109, +187, +250, +42, +85, +90, +18, +127, +197, +244, +76, +125, +110, +51, +145, +176, +213, +107, +33, +194, +173, +109, +68, +98, +155, +246, +186, +241, +68, +115, +250, +239, +102, +36, +90, +2, +216, +22, +184, +82, +235, +102, +81, +51, +1, +129, +159, +43, +237, +115, +157, +50, +155, +29, +168, +117, +64, +78, +95, +255, +2, +218, +44, +129, +132, +41, +3, +143, +179, +15, +240, +45, +173, +187, +145, +62, +182, +126, +68, +76, +123, +68, +68, +133, +98, +100, +94, +49, +5, +147, +157, +180, +251, +123, +234, +172, +119, +217, +221, +232, +215, +141, +138, +44, +49, +180, +95, +125, +61, +94, +82, +223, +215, +113, +174, +53, +73, +221, +25, +216, +91, +255, +127, +98, +72, +219, +2, +159, +165, +16, +129, +4, +240, +178, +22, +237, +45, +236, +49, +224, +181, +228, +46, +211, +32, +199, +203, +175, +8, +224, +115, +62, +98, +155, +146, +57, +101, +246, +196, +230, +13, +77, +251, +229, +233, +95, +19, +1, +176, +151, +182, +185, +180, +164, +126, +37, +36, +38, +39, +120, +18, +157, +116, +6, +17, +211, +30, +17, +113, +73, +27, +153, +87, +76, +97, +226, +157, +180, +200, +215, +209, +166, +198, +122, +171, +83, +110, +245, +1, +143, +122, +120, +181, +93, +125, +45, +240, +212, +245, +118, +156, +75, +158, +24, +227, +120, +224, +239, +250, +255, +70, +19, +5, +57, +86, +180, +167, +10, +23, +52, +105, +235, +240, +40, +98, +54, +114, +234, +114, +38, +240, +113, +2, +35, +24, +33, +123, +253, +127, +23, +202, +78, +80, +158, +149, +227, +35, +176, +127, +65, +2, +0, +153, +220, +86, +89, +92, +149, +233, +200, +206, +185, +135, +136, +173, +240, +38, +98, +218, +35, +34, +42, +20, +35, +243, +138, +41, +76, +188, +147, +150, +252, +216, +230, +228, +66, +121, +213, +150, +169, +237, +234, +107, +154, +167, +174, +183, +227, +92, +68, +184, +216, +112, +241, +179, +144, +175, +120, +169, +128, +113, +218, +173, +132, +40, +64, +175, +32, +183, +41, +120, +130, +0, +15, +199, +132, +126, +225, +186, +93, +254, +69, +255, +190, +57, +100, +224, +24, +99, +172, +239, +243, +233, +30, +18, +235, +86, +121, +119, +96, +63, +108, +128, +145, +103, +246, +204, +203, +122, +118, +133, +106, +120, +175, +212, +191, +62, +11, +193, +233, +250, +247, +233, +182, +0, +241, +28, +219, +215, +24, +243, +152, +49, +166, +184, +135, +92, +174, +208, +206, +197, +3, +250, +119, +221, +192, +126, +217, +120, +241, +119, +121, +234, +172, +146, +241, +156, +44, +203, +30, +242, +212, +63, +133, +44, +203, +30, +53, +198, +88, +251, +251, +218, +19, +133, +44, +203, +230, +24, +99, +78, +49, +198, +172, +105, +228, +190, +79, +200, +178, +44, +228, +136, +108, +145, +49, +102, +101, +99, +204, +22, +198, +152, +101, +140, +140, +181, +151, +100, +89, +118, +71, +64, +219, +132, +30, +225, +10, +128, +51, +140, +76, +178, +101, +141, +49, +135, +213, +180, +251, +137, +145, +1, +125, +179, +49, +230, +175, +158, +122, +155, +81, +40, +200, +218, +204, +24, +51, +75, +255, +250, +194, +28, +197, +228, +21, +83, +152, +216, +201, +181, +142, +49, +198, +32, +75, +232, +99, +140, +49, +75, +26, +99, +246, +203, +178, +172, +24, +74, +202, +78, +218, +251, +61, +188, +174, +214, +191, +161, +89, +100, +172, +64, +242, +153, +81, +199, +20, +114, +3, +200, +178, +236, +19, +89, +142, +111, +7, +182, +153, +145, +101, +217, +58, +89, +150, +45, +147, +101, +217, +74, +89, +150, +189, +61, +203, +178, +59, +3, +251, +151, +208, +35, +158, +18, +0, +89, +150, +205, +53, +198, +124, +220, +24, +179, +208, +24, +179, +43, +21, +105, +143, +140, +49, +187, +25, +99, +230, +26, +99, +62, +146, +101, +217, +66, +15, +223, +25, +250, +119, +57, +79, +157, +15, +85, +95, +199, +152, +188, +98, +10, +19, +59, +249, +236, +196, +217, +215, +200, +228, +59, +47, +203, +50, +95, +54, +88, +75, +119, +165, +167, +174, +237, +234, +107, +192, +175, +222, +196, +21, +114, +9, +139, +57, +70, +68, +94, +201, +178, +236, +28, +99, +204, +123, +141, +49, +79, +24, +99, +118, +49, +198, +76, +193, +73, +123, +100, +100, +201, +185, +171, +49, +230, +65, +99, +204, +142, +89, +150, +149, +125, +101, +218, +46, +105, +125, +95, +199, +152, +188, +98, +10, +147, +127, +232, +223, +29, +16, +141, +243, +119, +140, +8, +150, +189, +139, +132, +1, +91, +166, +54, +171, +175, +27, +77, +46, +56, +92, +196, +20, +114, +227, +2, +136, +157, +197, +41, +148, +28, +143, +33, +217, +129, +254, +136, +39, +100, +151, +214, +23, +209, +58, +200, +40, +18, +196, +117, +111, +224, +31, +192, +125, +136, +237, +197, +52, +228, +136, +239, +135, +56, +14, +113, +37, +237, +59, +185, +168, +211, +209, +249, +203, +50, +233, +148, +246, +136, +184, +10, +197, +152, +188, +98, +158, +116, +44, +67, +158, +196, +209, +42, +210, +6, +142, +4, +149, +182, +54, +83, +44, +205, +146, +78, +206, +162, +228, +152, +139, +136, +199, +185, +227, +5, +58, +232, +209, +231, +252, +101, +224, +6, +125, +39, +147, +145, +99, +189, +83, +181, +222, +39, +48, +125, +199, +138, +173, +130, +140, +34, +169, +207, +111, +119, +218, +77, +69, +20, +159, +55, +146, +91, +38, +86, +230, +112, +164, +163, +139, +58, +29, +157, +191, +162, +128, +136, +121, +212, +35, +243, +138, +38, +76, +180, +126, +123, +231, +197, +78, +7, +54, +45, +212, +55, +202, +20, +75, +120, +210, +201, +109, +43, +120, +68, +19, +114, +49, +64, +216, +241, +226, +234, +192, +33, +136, +127, +195, +92, +202, +225, +245, +55, +64, +162, +232, +252, +202, +161, +187, +29, +17, +162, +147, +157, +178, +83, +40, +113, +55, +118, +104, +90, +7, +25, +5, +94, +64, +46, +124, +255, +11, +108, +83, +168, +95, +11, +137, +16, +84, +155, +48, +148, +14, +46, +234, +68, +112, +254, +234, +12, +34, +230, +81, +143, +204, +43, +154, +48, +81, +154, +103, +146, +219, +3, +128, +56, +108, +220, +197, +160, +197, +93, +112, +166, +88, +6, +87, +95, +11, +201, +133, +204, +69, +212, +251, +40, +68, +21, +114, +129, +60, +90, +135, +144, +215, +251, +181, +95, +205, +219, +129, +99, +128, +163, +129, +91, +157, +231, +119, +55, +226, +33, +87, +122, +239, +228, +246, +242, +199, +49, +210, +97, +201, +90, +28, +126, +161, +162, +173, +69, +171, +32, +163, +74, +99, +45, +16, +175, +37, +66, +204, +126, +58, +186, +168, +143, +58, +136, +152, +71, +61, +22, +47, +34, +10, +19, +165, +57, +70, +105, +14, +71, +246, +138, +255, +209, +151, +22, +37, +83, +172, +115, +29, +43, +184, +102, +2, +149, +186, +16, +34, +11, +185, +192, +254, +29, +71, +203, +16, +242, +192, +79, +245, +250, +255, +194, +49, +224, +65, +246, +237, +103, +107, +93, +109, +48, +76, +100, +245, +48, +3, +88, +190, +80, +158, +33, +1, +54, +7, +220, +130, +29, +26, +139, +86, +65, +70, +201, +45, +63, +33, +32, +136, +232, +132, +1, +17, +243, +168, +199, +226, +69, +92, +193, +180, +2, +146, +66, +189, +215, +220, +121, +200, +18, +215, +46, +103, +47, +5, +158, +94, +65, +27, +85, +200, +5, +246, +175, +117, +8, +121, +114, +147, +224, +29, +61, +117, +111, +214, +186, +255, +5, +244, +97, +54, +37, +201, +57, +144, +85, +209, +204, +138, +182, +22, +173, +130, +140, +34, +43, +22, +40, +49, +227, +29, +22, +144, +109, +198, +65, +136, +192, +155, +129, +8, +247, +255, +34, +65, +74, +26, +101, +75, +50, +192, +243, +145, +101, +213, +165, +200, +87, +109, +46, +98, +111, +125, +35, +98, +6, +250, +57, +28, +39, +138, +10, +62, +209, +242, +168, +199, +226, +69, +68, +193, +52, +44, +32, +49, +16, +173, +91, +241, +5, +84, +36, +153, +32, +162, +144, +11, +236, +91, +107, +231, +20, +242, +61, +255, +102, +158, +186, +205, +180, +110, +150, +175, +109, +129, +246, +118, +68, +219, +62, +32, +28, +17, +13, +252, +109, +21, +109, +67, +4, +64, +105, +144, +81, +157, +112, +0, +223, +173, +235, +103, +9, +239, +5, +250, +111, +243, +10, +154, +45, +108, +39, +75, +234, +95, +69, +110, +101, +57, +11, +9, +117, +126, +13, +249, +202, +229, +30, +42, +2, +210, +184, +140, +150, +71, +150, +116, +118, +223, +185, +0, +89, +94, +93, +142, +104, +87, +109, +148, +88, +232, +224, +49, +53, +218, +32, +162, +96, +26, +22, +16, +51, +95, +27, +101, +168, +50, +172, +58, +227, +68, +200, +145, +231, +196, +27, +176, +68, +36, +79, +206, +225, +59, +210, +45, +210, +218, +40, +58, +199, +48, +210, +149, +214, +78, +220, +210, +12, +63, +206, +243, +168, +18, +0, +165, +65, +70, +157, +231, +252, +209, +186, +126, +118, +184, +126, +169, +0, +64, +20, +125, +246, +68, +234, +199, +56, +66, +16, +153, +207, +214, +235, +241, +14, +10, +91, +164, +34, +163, +21, +201, +195, +33, +61, +12, +124, +134, +194, +210, +1, +89, +98, +110, +143, +68, +62, +45, +93, +138, +38, +244, +3, +96, +23, +2, +61, +240, +232, +81, +200, +21, +132, +72, +41, +159, +170, +129, +171, +245, +214, +49, +104, +50, +78, +0, +77, +36, +169, +198, +127, +237, +164, +174, +233, +75, +230, +240, +1, +249, +96, +157, +236, +180, +135, +138, +175, +115, +224, +4, +44, +13, +50, +74, +67, +103, +174, +150, +215, +175, +18, +0, +214, +255, +165, +204, +147, +48, +67, +20, +211, +0, +159, +173, +234, +136, +117, +150, +185, +135, +228, +168, +145, +80, +1, +70, +162, +42, +225, +103, +157, +0, +88, +93, +39, +44, +136, +128, +186, +65, +133, +129, +221, +26, +76, +193, +73, +217, +85, +194, +227, +56, +165, +253, +13, +162, +140, +189, +17, +89, +6, +223, +164, +191, +109, +236, +127, +239, +185, +122, +224, +4, +252, +168, +210, +12, +4, +25, +37, +63, +254, +251, +112, +85, +63, +43, +120, +119, +21, +0, +151, +106, +213, +167, +42, +218, +127, +86, +105, +46, +40, +35, +120, +137, +211, +145, +237, +189, +68, +9, +9, +10, +29, +39, +139, +16, +101, +211, +92, +10, +49, +7, +28, +186, +74, +1, +160, +52, +171, +146, +123, +125, +46, +64, +244, +18, +55, +35, +231, +230, +171, +5, +244, +229, +173, +192, +31, +40, +183, +4, +92, +22, +73, +178, +234, +141, +242, +27, +56, +1, +171, +130, +140, +90, +219, +139, +218, +4, +174, +29, +174, +95, +37, +0, +108, +44, +132, +82, +215, +108, +224, +141, +101, +2, +204, +18, +28, +166, +4, +215, +182, +185, +137, +16, +208, +33, +149, +23, +49, +76, +28, +19, +162, +193, +25, +180, +223, +210, +191, +139, +86, +90, +155, +0, +0, +32, +0, +73, +68, +65, +84, +222, +140, +196, +129, +2, +224, +215, +136, +206, +105, +167, +254, +122, +92, +142, +192, +9, +88, +21, +100, +212, +218, +94, +84, +166, +18, +239, +120, +253, +42, +1, +96, +149, +195, +85, +39, +86, +175, +84, +154, +1, +119, +116, +75, +96, +247, +254, +223, +111, +115, +19, +33, +160, +67, +42, +47, +122, +48, +113, +108, +34, +144, +234, +94, +18, +178, +207, +178, +3, +225, +34, +156, +56, +243, +139, +35, +156, +231, +241, +108, +242, +0, +40, +3, +105, +189, +3, +5, +192, +44, +228, +200, +106, +83, +106, +50, +3, +247, +129, +128, +119, +91, +25, +100, +20, +120, +175, +214, +45, +4, +158, +23, +251, +250, +74, +83, +37, +0, +108, +164, +160, +170, +24, +150, +219, +41, +205, +64, +64, +154, +34, +147, +221, +155, +222, +64, +8, +232, +152, +202, +139, +30, +76, +28, +105, +32, +144, +2, +6, +137, +53, +104, +249, +175, +237, +99, +5, +143, +78, +138, +51, +15, +253, +174, +74, +94, +155, +89, +55, +128, +215, +55, +156, +126, +174, +82, +65, +103, +177, +62, +185, +130, +236, +6, +10, +203, +240, +144, +123, +97, +164, +25, +175, +139, +25, +136, +113, +85, +109, +134, +223, +46, +168, +122, +183, +4, +4, +25, +69, +140, +150, +172, +53, +227, +165, +64, +168, +179, +89, +237, +245, +29, +154, +42, +1, +112, +145, +86, +149, +42, +248, +144, +99, +123, +128, +139, +203, +8, +236, +50, +194, +171, +201, +44, +121, +65, +193, +241, +210, +137, +148, +202, +43, +22, +104, +40, +144, +106, +6, +137, +53, +55, +189, +3, +40, +117, +171, +45, +60, +186, +214, +138, +179, +2, +173, +59, +248, +158, +164, +194, +62, +32, +128, +151, +107, +107, +0, +97, +2, +96, +83, +253, +125, +158, +254, +254, +92, +129, +174, +78, +9, +248, +2, +68, +121, +103, +147, +97, +62, +162, +255, +30, +103, +100, +98, +149, +248, +113, +240, +6, +239, +165, +117, +144, +81, +36, +196, +184, +85, +92, +94, +173, +109, +151, +40, +208, +108, +4, +236, +27, +114, +125, +15, +77, +149, +0, +176, +153, +150, +188, +222, +185, +140, +60, +5, +248, +82, +217, +5, +172, +34, +225, +35, +37, +245, +151, +56, +255, +174, +45, +235, +204, +120, +1, +13, +5, +82, +217, +75, +34, +15, +142, +249, +32, +37, +138, +176, +2, +143, +40, +138, +51, +135, +246, +51, +74, +106, +99, +244, +253, +40, +228, +126, +60, +124, +150, +67, +180, +230, +247, +146, +159, +41, +135, +8, +128, +23, +235, +239, +23, +35, +10, +188, +199, +113, +194, +164, +215, +12, +220, +237, +17, +205, +255, +21, +192, +11, +61, +245, +43, +146, +39, +30, +237, +197, +89, +169, +112, +47, +93, +131, +140, +190, +9, +57, +102, +181, +120, +20, +49, +198, +185, +66, +199, +90, +217, +115, +240, +142, +173, +2, +77, +213, +115, +92, +158, +252, +35, +240, +115, +156, +179, +126, +125, +175, +246, +136, +244, +94, +74, +86, +167, +6, +152, +164, +68, +7, +4, +220, +104, +163, +37, +106, +27, +32, +103, +216, +118, +223, +95, +154, +117, +6, +217, +159, +129, +76, +168, +129, +248, +252, +17, +251, +51, +240, +146, +144, +189, +223, +66, +228, +203, +235, +205, +250, +83, +194, +227, +91, +250, +183, +181, +226, +76, +233, +86, +68, +4, +207, +253, +200, +82, +245, +106, +228, +75, +245, +172, +22, +247, +247, +11, +189, +228, +62, +206, +96, +13, +17, +0, +238, +243, +56, +82, +203, +142, +114, +202, +170, +6, +174, +61, +254, +219, +164, +226, +58, +171, +42, +77, +111, +238, +172, +12, +162, +85, +144, +81, +229, +181, +18, +226, +130, +124, +62, +178, +181, +156, +175, +255, +30, +68, +44, +56, +7, +188, +52, +125, +207, +210, +67, +83, +183, +146, +122, +33, +185, +11, +243, +108, +68, +240, +216, +241, +128, +94, +191, +60, +2, +51, +249, +126, +216, +191, +71, +8, +236, +12, +121, +134, +84, +128, +15, +86, +240, +120, +151, +210, +60, +89, +54, +208, +200, +205, +85, +171, +150, +203, +7, +41, +205, +169, +101, +52, +49, +80, +124, +73, +136, +82, +101, +46, +34, +164, +182, +109, +200, +163, +179, +226, +76, +233, +236, +209, +212, +167, +244, +247, +219, +245, +247, +145, +13, +239, +109, +7, +109, +247, +111, +196, +239, +192, +42, +70, +155, +10, +128, +53, +144, +21, +192, +83, +102, +173, +53, +99, +197, +46, +153, +253, +95, +37, +243, +212, +22, +1, +96, +177, +141, +31, +232, +60, +239, +82, +171, +76, +224, +13, +74, +227, +11, +78, +99, +105, +86, +65, +236, +254, +255, +139, +40, +85, +103, +34, +102, +202, +223, +163, +238, +227, +232, +92, +0, +106, +150, +197, +117, +3, +148, +60, +67, +170, +215, +57, +67, +105, +46, +86, +154, +3, +43, +104, +182, +81, +26, +111, +230, +89, +100, +159, +102, +67, +96, +15, +76, +36, +165, +137, +178, +146, +112, +7, +60, +226, +170, +57, +29, +249, +250, +15, +36, +113, +168, +184, +134, +69, +12, +197, +217, +154, +218, +135, +187, +112, +252, +220, +17, +201, +63, +143, +64, +67, +46, +196, +16, +231, +126, +229, +181, +161, +150, +89, +115, +239, +70, +2, +64, +203, +173, +178, +233, +124, +253, +253, +162, +178, +123, +33, +223, +95, +123, +93, +117, +145, +252, +5, +151, +43, +205, +183, +67, +238, +103, +60, +130, +124, +245, +253, +241, +10, +26, +155, +197, +168, +116, +78, +197, +232, +200, +191, +157, +65, +89, +234, +74, +90, +55, +64, +25, +185, +10, +24, +8, +195, +68, +158, +108, +114, +58, +53, +74, +43, +100, +95, +10, +254, +0, +31, +246, +203, +53, +133, +138, +227, +35, +34, +172, +36, +156, +1, +191, +3, +185, +208, +241, +133, +247, +170, +186, +23, +139, +78, +138, +51, +165, +177, +246, +221, +123, +22, +202, +173, +253, +124, +80, +54, +89, +114, +47, +183, +61, +156, +50, +171, +124, +107, +35, +0, +150, +210, +241, +3, +240, +30, +36, +194, +141, +247, +94, +16, +197, +153, +93, +162, +254, +27, +217, +171, +254, +16, +248, +37, +162, +217, +182, +10, +201, +83, +41, +9, +230, +177, +56, +128, +60, +148, +252, +85, +248, +79, +25, +50, +242, +172, +65, +223, +235, +179, +35, +27, +146, +31, +7, +222, +141, +56, +64, +12, +228, +109, +67, +60, +143, +234, +6, +168, +93, +5, +252, +203, +83, +103, +39, +100, +173, +194, +10, +248, +130, +210, +14, +4, +192, +68, +60, +221, +160, +230, +248, +139, +56, +43, +9, +139, +251, +116, +130, +44, +212, +191, +193, +137, +49, +28, +30, +173, +21, +103, +90, +191, +33, +242, +149, +190, +181, +120, +63, +206, +96, +89, +72, +141, +247, +23, +185, +121, +235, +31, +11, +229, +22, +141, +5, +128, +214, +89, +55, +222, +41, +228, +57, +0, +203, +238, +101, +19, +100, +251, +121, +51, +34, +12, +22, +32, +219, +194, +73, +136, +99, +207, +152, +241, +200, +236, +11, +136, +223, +131, +13, +44, +115, +56, +206, +156, +67, +244, +60, +86, +183, +242, +8, +53, +102, +209, +49, +58, +243, +60, +242, +37, +9, +58, +208, +110, +38, +207, +229, +126, +47, +206, +241, +76, +5, +31, +119, +21, +176, +165, +83, +190, +14, +34, +217, +103, +81, +227, +43, +174, +244, +171, +35, +75, +248, +249, +56, +171, +18, +68, +57, +52, +71, +7, +250, +122, +1, +124, +58, +173, +36, +156, +231, +49, +21, +73, +189, +101, +87, +12, +247, +16, +232, +107, +237, +155, +52, +52, +84, +156, +105, +189, +141, +80, +227, +77, +37, +134, +228, +5, +4, +143, +208, +116, +104, +214, +215, +65, +119, +63, +133, +85, +152, +211, +207, +86, +2, +64, +235, +255, +162, +245, +7, +215, +141, +149, +97, +129, +6, +49, +15, +128, +79, +59, +247, +88, +233, +121, +25, +3, +58, +166, +108, +112, +22, +87, +137, +103, +221, +121, +31, +167, +16, +102, +172, +207, +206, +44, +1, +188, +31, +89, +122, +77, +33, +151, +204, +51, +144, +227, +134, +115, +244, +197, +122, +163, +172, +58, +124, +236, +42, +192, +205, +40, +107, +7, +196, +79, +27, +244, +231, +183, +218, +102, +63, +167, +236, +83, +90, +118, +118, +85, +91, +135, +190, +211, +74, +194, +25, +12, +175, +210, +223, +75, +147, +71, +112, +13, +50, +70, +242, +77, +26, +154, +43, +206, +182, +68, +4, +240, +13, +148, +11, +171, +140, +92, +136, +15, +28, +95, +233, +251, +189, +72, +249, +248, +148, +144, +22, +93, +4, +192, +198, +228, +74, +82, +239, +189, +244, +1, +58, +132, +39, +115, +120, +188, +72, +199, +250, +52, +253, +55, +3, +120, +65, +191, +61, +55, +6, +217, +46, +253, +28, +57, +29, +153, +173, +215, +189, +30, +217, +34, +4, +127, +249, +233, +24, +89, +56, +26, +200, +87, +1, +11, +144, +101, +235, +242, +200, +249, +234, +28, +224, +217, +13, +248, +216, +60, +238, +215, +59, +101, +246, +38, +223, +27, +200, +163, +211, +74, +162, +100, +242, +110, +66, +46, +181, +107, +61, +193, +202, +38, +13, +205, +20, +103, +255, +12, +185, +111, +100, +255, +13, +112, +174, +167, +206, +250, +200, +123, +67, +144, +59, +253, +108, +45, +0, +148, +230, +71, +14, +221, +176, +4, +192, +113, +180, +12, +79, +166, +237, +215, +66, +162, +20, +77, +3, +94, +13, +188, +14, +153, +136, +119, +16, +176, +98, +29, +11, +160, +99, +100, +225, +216, +157, +177, +171, +128, +35, +200, +151, +85, +71, +213, +183, +28, +224, +99, +61, +174, +94, +138, +216, +140, +131, +196, +44, +8, +86, +14, +209, +97, +37, +81, +54, +224, +201, +181, +179, +79, +226, +248, +179, +55, +228, +17, +172, +56, +139, +1, +242, +227, +183, +91, +116, +114, +20, +255, +89, +88, +215, +92, +95, +88, +116, +239, +189, +20, +104, +86, +162, +194, +0, +166, +15, +208, +33, +60, +153, +182, +185, +10, +89, +245, +190, +216, +41, +123, +41, +114, +218, +226, +203, +196, +52, +38, +65, +135, +200, +194, +177, +59, +98, +87, +1, +179, +244, +193, +206, +175, +155, +40, +37, +124, +172, +185, +227, +129, +228, +246, +234, +63, +110, +200, +163, +245, +74, +162, +106, +192, +3, +103, +105, +221, +37, +84, +236, +51, +107, +120, +4, +43, +206, +186, +130, +22, +232, +163, +31, +37, +125, +235, +20, +215, +142, +14, +225, +201, +22, +55, +48, +86, +34, +11, +147, +175, +2, +0, +126, +221, +146, +199, +106, +200, +190, +200, +42, +35, +161, +197, +190, +140, +150, +43, +137, +154, +201, +187, +38, +249, +146, +235, +235, +109, +120, +104, +253, +152, +80, +156, +57, +253, +44, +221, +2, +244, +116, +221, +56, +113, +237, +18, +226, +129, +14, +62, +252, +14, +143, +85, +156, +65, +245, +234, +14, +125, +57, +17, +57, +149, +88, +4, +92, +214, +146, +71, +171, +149, +68, +192, +228, +125, +155, +214, +207, +167, +100, +201, +21, +192, +99, +84, +20, +103, +158, +126, +12, +93, +0, +16, +41, +174, +29, +221, +87, +16, +209, +34, +235, +34, +167, +103, +181, +122, +135, +26, +30, +157, +231, +95, +39, +208, +193, +135, +191, +192, +167, +114, +240, +7, +242, +216, +202, +225, +243, +177, +150, +60, +90, +173, +36, +66, +250, +143, +232, +57, +64, +246, +214, +3, +131, +52, +144, +199, +208, +21, +103, +158, +62, +140, +134, +0, +232, +28, +215, +142, +142, +43, +136, +174, +237, +61, +252, +126, +5, +124, +38, +148, +190, +132, +71, +163, +249, +71, +228, +208, +224, +157, +124, +248, +11, +188, +106, +7, +127, +0, +15, +187, +55, +158, +142, +199, +64, +169, +1, +159, +206, +43, +137, +150, +215, +13, +17, +0, +67, +87, +156, +121, +250, +208, +73, +0, +208, +34, +65, +38, +29, +227, +218, +209, +113, +5, +209, +181, +125, +31, +104, +58, +255, +136, +189, +133, +34, +162, +15, +127, +36, +1, +96, +253, +238, +143, +237, +216, +151, +206, +43, +137, +4, +63, +104, +153, +32, +147, +142, +113, +237, +232, +184, +130, +232, +218, +190, +15, +52, +153, +127, +99, +81, +128, +21, +59, +216, +73, +0, +32, +71, +101, +119, +42, +143, +114, +183, +198, +48, +94, +81, +86, +18, +9, +35, +65, +135, +4, +153, +116, +140, +107, +71, +247, +21, +68, +140, +21, +72, +40, +46, +41, +187, +70, +91, +208, +82, +128, +141, +139, +35, +19, +68, +67, +127, +168, +49, +102, +125, +99, +204, +133, +89, +150, +117, +61, +143, +181, +38, +180, +167, +100, +89, +54, +163, +35, +175, +4, +35, +3, +204, +24, +115, +130, +49, +102, +101, +99, +204, +117, +198, +152, +173, +179, +44, +27, +225, +186, +154, +101, +217, +131, +198, +24, +111, +10, +117, +99, +204, +52, +99, +204, +106, +198, +152, +42, +129, +188, +162, +67, +91, +132, +205, +204, +124, +99, +69, +123, +123, +252, +235, +91, +6, +119, +109, +191, +192, +24, +19, +154, +26, +172, +52, +79, +97, +7, +216, +128, +170, +222, +116, +112, +89, +150, +129, +56, +136, +189, +220, +24, +243, +110, +99, +204, +207, +70, +16, +16, +33, +61, +81, +21, +28, +233, +23, +180, +2, +64, +246, +194, +215, +171, +212, +178, +251, +154, +39, +232, +152, +175, +128, +136, +43, +137, +132, +28, +116, +76, +144, +73, +199, +184, +118, +116, +95, +65, +116, +143, +172, +27, +1, +180, +84, +226, +209, +53, +52, +120, +200, +4, +237, +34, +0, +154, +2, +73, +188, +121, +47, +185, +2, +233, +76, +2, +114, +17, +214, +240, +92, +134, +60, +60, +210, +5, +145, +186, +106, +121, +23, +49, +23, +217, +147, +253, +3, +248, +24, +53, +6, +42, +228, +129, +39, +75, +51, +225, +146, +251, +51, +84, +126, +105, +104, +17, +66, +189, +235, +251, +167, +99, +130, +76, +58, +198, +181, +163, +99, +100, +220, +174, +237, +99, +128, +14, +74, +60, +186, +10, +176, +174, +3, +96, +172, +130, +158, +86, +18, +158, +235, +88, +216, +184, +114, +87, +58, +215, +3, +9, +128, +82, +26, +45, +150, +220, +142, +224, +94, +252, +57, +232, +151, +32, +87, +174, +13, +228, +209, +43, +208, +54, +14, +161, +222, +245, +253, +211, +61, +65, +102, +167, +184, +118, +116, +95, +65, +116, +143, +172, +59, +72, +255, +107, +2, +143, +1, +233, +126, +138, +209, +77, +128, +117, +29, +0, +99, +21, +244, +176, +146, +40, +185, +206, +192, +243, +67, +38, +237, +174, +228, +19, +242, +59, +21, +237, +109, +30, +123, +240, +231, +160, +183, +2, +226, +22, +106, +98, +231, +211, +34, +132, +122, +215, +247, +79, +199, +4, +153, +202, +163, +117, +92, +59, +186, +175, +32, +186, +71, +214, +29, +108, +115, +51, +112, +116, +32, +109, +215, +83, +140, +110, +2, +172, +235, +0, +152, +232, +168, +122, +126, +192, +207, +180, +174, +74, +193, +100, +128, +15, +41, +221, +149, +158, +186, +127, +104, +221, +39, +98, +246, +219, +225, +223, +233, +253, +211, +49, +65, +166, +195, +167, +85, +92, +59, +186, +175, +32, +186, +71, +214, +237, +118, +223, +93, +79, +33, +186, +9, +176, +174, +3, +192, +211, +153, +115, +129, +29, +156, +178, +231, +33, +174, +154, +222, +32, +22, +227, +29, +85, +207, +15, +137, +173, +0, +48, +167, +134, +135, +171, +160, +220, +202, +41, +223, +4, +49, +90, +122, +136, +158, +50, +50, +119, +125, +255, +116, +76, +144, +25, +3, +116, +140, +140, +219, +181, +125, +199, +190, +119, +181, +131, +232, +38, +192, +186, +14, +128, +2, +221, +1, +228, +246, +203, +23, +35, +89, +135, +23, +34, +231, +238, +223, +174, +106, +235, +240, +24, +106, +68, +150, +174, +168, +122, +126, +72, +104, +105, +0, +223, +241, +85, +145, +214, +222, +247, +31, +157, +50, +251, +242, +170, +2, +150, +116, +58, +197, +233, +250, +254, +233, +152, +32, +51, +22, +232, +18, +25, +55, +66, +251, +14, +253, +238, +124, +10, +65, +23, +1, +214, +117, +0, +120, +104, +119, +33, +247, +59, +7, +177, +189, +175, +205, +244, +170, +109, +71, +37, +34, +75, +23, +84, +61, +63, +36, +200, +37, +4, +68, +47, +66, +226, +251, +63, +132, +8, +204, +231, +34, +49, +225, +166, +233, +75, +172, +90, +2, +119, +157, +192, +93, +219, +119, +74, +144, +57, +209, +65, +164, +83, +8, +218, +10, +176, +88, +2, +0, +216, +131, +60, +28, +213, +125, +136, +115, +203, +44, +100, +9, +91, +27, +189, +135, +150, +17, +89, +136, +247, +5, +12, +66, +69, +251, +162, +18, +112, +119, +68, +186, +47, +162, +66, +186, +23, +120, +89, +147, +231, +159, +144, +103, +254, +169, +140, +236, +210, +245, +253, +69, +184, +255, +78, +9, +50, +39, +58, +232, +225, +20, +34, +4, +125, +88, +2, +46, +105, +140, +153, +103, +140, +217, +205, +136, +165, +221, +124, +36, +212, +213, +89, +198, +152, +223, +0, +87, +102, +89, +54, +165, +162, +253, +95, +141, +49, +153, +49, +102, +171, +44, +203, +38, +25, +99, +12, +176, +181, +49, +230, +116, +173, +43, +219, +131, +217, +64, +28, +3, +97, +149, +3, +225, +211, +190, +190, +86, +255, +94, +103, +140, +153, +25, +200, +231, +56, +96, +166, +49, +102, +89, +99, +204, +6, +70, +172, +219, +102, +24, +99, +246, +200, +178, +204, +171, +160, +241, +224, +23, +198, +152, +47, +25, +99, +62, +102, +140, +121, +208, +24, +179, +200, +24, +211, +40, +248, +73, +7, +84, +221, +235, +242, +198, +152, +50, +1, +115, +134, +49, +230, +14, +35, +247, +124, +28, +176, +125, +150, +101, +179, +122, +232, +223, +226, +138, +63, +25, +99, +94, +103, +140, +249, +160, +41, +90, +233, +25, +81, +226, +105, +157, +49, +198, +252, +37, +250, +213, +187, +126, +65, +2, +248, +31, +170, +77, +91, +103, +243, +173, +225, +31, +189, +255, +33, +60, +61, +180, +69, +60, +66, +96, +96, +70, +242, +48, +221, +85, +240, +234, +67, +186, +222, +127, +140, +231, +71, +135, +4, +153, +19, +29, +140, +242, +41, +132, +33, +82, +122, +162, +138, +182, +171, +144, +159, +21, +15, +229, +28, +222, +67, +51, +12, +1, +224, +110, +1, +206, +215, +178, +61, +170, +218, +58, +244, +59, +50, +50, +9, +171, +197, +181, +78, +153, +55, +19, +81, +215, +251, +143, +245, +252, +104, +153, +32, +179, +41, +144, +60, +123, +219, +118, +228, +241, +44, +228, +136, +246, +118, +196, +86, +227, +17, +36, +188, +155, +55, +55, +132, +182, +9, +70, +139, +254, +140, +218, +41, +132, +33, +82, +122, +34, +224, +53, +136, +214, +255, +110, +228, +107, +48, +93, +95, +254, +231, +145, +68, +15, +0, +159, +247, +180, +27, +85, +45, +118, +9, +125, +45, +207, +42, +90, +224, +37, +200, +158, +248, +65, +90, +72, +237, +174, +215, +247, +208, +12, +229, +249, +209, +34, +65, +102, +83, +144, +107, +205, +91, +9, +2, +196, +215, +222, +42, +222, +166, +33, +147, +237, +86, +231, +57, +120, +141, +182, +24, +41, +160, +203, +254, +61, +25, +58, +198, +60, +252, +71, +229, +20, +194, +16, +33, +61, +17, +240, +85, +242, +164, +33, +211, +148, +151, +43, +193, +30, +208, +191, +255, +240, +180, +29, +51, +3, +184, +9, +207, +58, +90, +36, +42, +12, +192, +192, +190, +206, +195, +99, +92, +111, +1, +74, +218, +188, +4, +249, +154, +109, +90, +79, +29, +14, +196, +165, +251, +23, +228, +99, +43, +88, +16, +32, +2, +234, +30, +109, +247, +45, +70, +230, +86, +220, +1, +249, +104, +65, +131, +172, +79, +5, +254, +151, +52, +121, +70, +99, +2, +116, +76, +79, +68, +126, +68, +177, +200, +243, +80, +159, +142, +8, +7, +139, +123, +60, +237, +199, +220, +0, +14, +225, +89, +71, +11, +60, +83, +7, +212, +2, +60, +145, +112, +10, +180, +227, +126, +11, +224, +105, +243, +7, +29, +19, +231, +19, +89, +8, +40, +255, +53, +17, +239, +57, +107, +136, +84, +43, +8, +128, +47, +42, +173, +55, +115, +18, +240, +93, +173, +255, +83, +203, +62, +141, +63, +1, +96, +204, +83, +3, +176, +85, +122, +34, +242, +208, +216, +165, +81, +127, +129, +19, +44, +111, +79, +221, +152, +27, +192, +33, +60, +67, +104, +129, +175, +105, +221, +69, +33, +215, +141, +125, +125, +135, +102, +52, +4, +192, +187, +17, +223, +4, +128, +107, +67, +219, +53, +5, +242, +85, +223, +159, +124, +149, +89, +42, +8, +128, +11, +149, +198, +107, +181, +136, +232, +49, +0, +166, +182, +236, +203, +248, +20, +0, +198, +24, +67, +203, +244, +68, +72, +104, +109, +128, +247, +87, +208, +188, +85, +105, +230, +122, +234, +198, +220, +0, +142, +53, +1, +145, +21, +208, +93, +90, +255, +65, +95, +251, +62, +175, +239, +208, +12, +93, +0, +56, +109, +47, +5, +158, +104, +218, +174, +197, +117, +150, +5, +62, +129, +56, +67, +129, +223, +110, +222, +245, +210, +172, +194, +194, +150, +125, +24, +55, +2, +96, +192, +14, +32, +203, +178, +59, +141, +49, +109, +76, +111, +173, +146, +235, +222, +10, +154, +39, +245, +239, +99, +45, +248, +143, +91, +100, +89, +54, +27, +241, +243, +255, +157, +49, +230, +71, +192, +153, +197, +104, +57, +17, +48, +211, +200, +57, +125, +85, +228, +87, +107, +137, +57, +148, +40, +72, +136, +99, +16, +70, +108, +7, +182, +52, +198, +252, +97, +24, +215, +213, +107, +90, +248, +140, +146, +236, +88, +253, +175, +233, +231, +89, +124, +222, +24, +51, +16, +80, +213, +17, +10, +27, +103, +89, +118, +91, +27, +198, +192, +134, +198, +152, +111, +24, +99, +182, +55, +198, +172, +110, +196, +78, +228, +76, +99, +204, +1, +89, +150, +61, +220, +174, +187, +17, +64, +190, +244, +218, +165, +130, +230, +195, +74, +243, +119, +79, +221, +152, +251, +130, +133, +240, +28, +43, +32, +210, +41, +78, +228, +62, +205, +64, +180, +245, +83, +144, +227, +182, +222, +130, +81, +34, +91, +128, +47, +57, +227, +112, +10, +176, +15, +176, +172, +135, +214, +58, +222, +148, +154, +221, +246, +212, +71, +139, +141, +90, +182, +127, +41, +185, +158, +110, +6, +146, +241, +218, +42, +65, +239, +35, +32, +75, +118, +111, +32, +79, +89, +253, +199, +10, +154, +191, +41, +205, +94, +158, +186, +174, +2, +32, +186, +29, +195, +56, +19, +0, +157, +79, +113, +198, +35, +16, +37, +224, +247, +200, +109, +76, +110, +70, +204, +175, +75, +173, +92, +201, +93, +111, +191, +48, +228, +190, +182, +22, +0, +136, +89, +185, +77, +113, +127, +2, +42, +76, +129, +149, +17, +69, +43, +104, +114, +217, +81, +1, +114, +220, +99, +207, +102, +191, +138, +35, +121, +145, +125, +217, +119, +156, +23, +52, +224, +210, +26, +65, +0, +68, +255, +2, +142, +51, +1, +208, +233, +20, +103, +188, +1, +57, +6, +252, +57, +249, +23, +112, +18, +226, +118, +93, +25, +44, +69, +219, +238, +167, +109, +174, +199, +19, +125, +169, +47, +116, +20, +0, +111, +215, +182, +247, +2, +79, +43, +212, +45, +79, +158, +154, +238, +85, +49, +59, +124, +24, +13, +98, +160, +3, +31, +32, +63, +49, +152, +129, +156, +32, +92, +77, +254, +117, +190, +7, +120, +97, +73, +219, +174, +2, +32, +250, +23, +112, +60, +9, +0, +99, +186, +157, +226, +140, +55, +144, +127, +108, +174, +4, +222, +233, +123, +231, +21, +109, +87, +64, +182, +8, +32, +17, +162, +54, +44, +212, +63, +7, +81, +36, +238, +80, +198, +163, +101, +159, +187, +8, +0, +43, +192, +189, +246, +36, +228, +89, +169, +126, +208, +189, +167, +57, +83, +104, +24, +195, +28, +9, +252, +113, +4, +249, +41, +130, +141, +106, +250, +29, +186, +231, +155, +175, +18, +0, +209, +191, +128, +93, +5, +0, +34, +248, +162, +41, +153, +144, +124, +134, +223, +167, +58, +55, +94, +171, +83, +156, +241, +6, +196, +123, +238, +205, +29, +218, +111, +70, +126, +50, +3, +242, +5, +157, +66, +110, +4, +4, +145, +227, +80, +56, +124, +159, +131, +28, +143, +90, +171, +65, +155, +190, +252, +45, +21, +109, +255, +163, +109, +119, +43, +169, +223, +93, +235, +207, +139, +221, +225, +232, +73, +12, +74, +174, +213, +121, +15, +79, +228, +47, +96, +4, +1, +112, +59, +208, +72, +219, +203, +96, +88, +232, +39, +245, +30, +190, +133, +44, +119, +103, +0, +207, +106, +211, +159, +190, +129, +68, +93, +62, +7, +103, +27, +230, +43, +107, +200, +115, +91, +34, +71, +112, +118, +120, +175, +12, +124, +5, +89, +69, +76, +67, +140, +181, +30, +211, +201, +246, +157, +216, +2, +211, +25, +79, +63, +212, +191, +247, +1, +151, +147, +7, +3, +5, +143, +153, +188, +182, +181, +202, +77, +239, +252, +32, +143, +22, +52, +96, +100, +215, +181, +195, +195, +18, +0, +177, +124, +17, +162, +125, +1, +35, +8, +128, +127, +211, +32, +76, +54, +254, +176, +208, +147, +28, +1, +6, +112, +112, +155, +190, +12, +3, +120, +150, +169, +190, +178, +64, +94, +219, +34, +198, +60, +208, +99, +28, +254, +97, +194, +121, +135, +115, +113, +98, +99, +32, +219, +83, +27, +247, +97, +30, +158, +120, +10, +228, +186, +14, +111, +206, +5, +224, +101, +90, +31, +239, +88, +115, +200, +2, +96, +92, +107, +177, +129, +53, +144, +200, +174, +155, +57, +101, +167, +227, +152, +147, +34, +169, +179, +190, +136, +39, +203, +43, +213, +97, +161, +63, +224, +12, +158, +41, +140, +193, +116, +102, +228, +71, +188, +215, +160, +10, +96, +95, +89, +0, +31, +119, +226, +207, +70, +236, +253, +215, +239, +181, +243, +67, +130, +243, +14, +189, +193, +93, +200, +79, +201, +14, +241, +212, +217, +188, +138, +155, +149, +180, +125, +177, +214, +183, +50, +94, +50, +192, +15, +8, +199, +59, +91, +93, +164, +250, +250, +227, +90, +139, +141, +248, +194, +91, +220, +141, +164, +117, +190, +88, +255, +29, +73, +174, +116, +2, +216, +201, +211, +222, +27, +22, +26, +241, +37, +176, +86, +150, +118, +25, +232, +93, +38, +142, +22, +128, +205, +145, +47, +212, +116, +244, +235, +229, +43, +171, +225, +225, +78, +252, +39, +16, +93, +199, +154, +253, +247, +126, +120, +112, +222, +255, +219, +74, +234, +109, +236, +200, +171, +61, +117, +118, +107, +91, +183, +2, +8, +13, +92, +51, +192, +224, +19, +12, +186, +53, +162, +147, +178, +88, +254, +186, +138, +155, +11, +66, +73, +31, +198, +173, +22, +27, +17, +0, +255, +208, +254, +22, +149, +73, +211, +181, +236, +106, +100, +63, +60, +224, +111, +142, +39, +44, +52, +178, +234, +177, +225, +192, +143, +5, +246, +213, +255, +15, +100, +215, +85, +250, +205, +41, +28, +17, +57, +117, +75, +81, +227, +75, +142, +104, +199, +191, +174, +207, +221, +26, +241, +60, +140, +8, +177, +239, +80, +208, +150, +107, +155, +149, +200, +205, +110, +63, +92, +86, +86, +113, +77, +119, +226, +79, +69, +4, +225, +74, +85, +109, +198, +43, +156, +241, +80, +246, +21, +127, +189, +214, +15, +152, +76, +35, +250, +2, +168, +215, +1, +60, +16, +187, +195, +65, +91, +0, +36, +40, +100, +240, +191, +10, +62, +139, +133, +22, +27, +145, +230, +243, +16, +79, +184, +218, +88, +254, +228, +214, +105, +175, +119, +202, +108, +172, +247, +91, +144, +179, +222, +29, +244, +183, +47, +44, +244, +11, +17, +69, +214, +63, +138, +66, +0, +88, +26, +217, +142, +204, +161, +228, +156, +24, +81, +62, +222, +172, +252, +23, +234, +4, +190, +18, +39, +136, +7, +254, +132, +26, +43, +147, +135, +50, +255, +112, +89, +89, +201, +53, +237, +196, +191, +3, +209, +239, +120, +133, +87, +23, +32, +31, +149, +243, +200, +181, +237, +23, +163, +43, +88, +116, +75, +217, +128, +215, +154, +228, +202, +234, +43, +90, +244, +197, +98, +227, +146, +250, +170, +220, +133, +54, +102, +96, +153, +3, +147, +61, +5, +184, +172, +105, +191, +234, +58, +60, +20, +29, +64, +87, +32, +57, +7, +64, +190, +164, +3, +86, +96, +200, +23, +208, +126, +101, +75, +61, +22, +11, +109, +26, +217, +65, +56, +237, +94, +128, +172, +100, +78, +1, +206, +70, +4, +153, +87, +234, +59, +109, +70, +132, +133, +70, +142, +169, +230, +32, +66, +228, +101, +90, +246, +170, +138, +1, +178, +52, +112, +134, +214, +63, +37, +4, +16, +45, +252, +153, +90, +126, +22, +37, +123, +113, +224, +120, +165, +185, +141, +66, +4, +102, +196, +200, +235, +8, +74, +162, +58, +35, +38, +170, +179, +25, +185, +5, +24, +40, +243, +180, +179, +58, +143, +219, +145, +21, +104, +84, +1, +64, +158, +72, +3, +100, +251, +228, +70, +37, +250, +50, +170, +88, +107, +192, +239, +40, +135, +215, +128, +30, +39, +160, +189, +133, +55, +232, +13, +249, +87, +252, +113, +79, +221, +33, +90, +119, +120, +73, +219, +95, +104, +125, +101, +240, +216, +54, +29, +30, +47, +2, +96, +57, +96, +178, +246, +249, +32, +79, +253, +247, +181, +110, +18, +129, +201, +53, +218, +220, +63, +226, +249, +103, +83, +124, +109, +79, +254, +213, +190, +145, +234, +243, +123, +27, +157, +230, +77, +192, +211, +28, +30, +95, +118, +104, +42, +195, +66, +35, +66, +224, +207, +74, +115, +54, +242, +37, +254, +171, +254, +46, +157, +252, +218, +214, +158, +62, +148, +250, +114, +212, +220, +183, +253, +2, +185, +74, +192, +129, +178, +66, +155, +101, +17, +123, +125, +171, +31, +153, +138, +184, +244, +118, +222, +2, +0, +27, +147, +199, +39, +252, +63, +84, +177, +140, +108, +171, +62, +70, +174, +84, +11, +245, +11, +121, +185, +182, +121, +156, +246, +167, +66, +22, +239, +40, +169, +255, +148, +214, +95, +229, +169, +179, +249, +29, +239, +163, +218, +18, +208, +171, +95, +104, +5, +101, +56, +46, +4, +128, +49, +198, +0, +155, +34, +75, +180, +69, +192, +118, +78, +249, +246, +90, +54, +29, +216, +164, +1, +191, +198, +247, +79, +158, +6, +236, +78, +29, +108, +25, +112, +131, +150, +253, +178, +162, +221, +83, +97, +161, +129, +159, +234, +255, +207, +199, +49, +109, +37, +32, +44, +52, +242, +197, +183, +66, +192, +218, +199, +87, +78, +126, +109, +103, +151, +182, +91, +85, +209, +213, +240, +176, +249, +15, +126, +86, +85, +230, +105, +183, +52, +34, +44, +236, +22, +228, +9, +196, +22, +162, +181, +18, +144, +60, +8, +173, +215, +48, +134, +60, +54, +69, +168, +0, +184, +17, +17, +80, +91, +118, +232, +147, +197, +175, +74, +234, +207, +211, +250, +31, +150, +212, +91, +189, +220, +111, +200, +125, +1, +86, +4, +78, +213, +242, +235, +9, +48, +133, +110, +210, +225, +237, +232, +43, +8, +97, +79, +0, +62, +168, +15, +99, +42, +178, +175, +93, +139, +124, +217, +87, +26, +171, +160, +132, +23, +52, +23, +0, +107, +35, +58, +140, +253, +157, +178, +143, +35, +91, +148, +117, +42, +218, +89, +5, +223, +221, +136, +176, +122, +12, +88, +215, +169, +15, +78, +78, +137, +40, +243, +236, +201, +193, +163, +192, +138, +1, +253, +182, +118, +24, +165, +9, +76, +3, +120, +44, +139, +40, +57, +247, +170, +42, +171, +104, +111, +147, +169, +218, +213, +207, +44, +125, +150, +235, +183, +232, +203, +53, +202, +99, +159, +146, +250, +157, +155, +8, +128, +24, +112, +4, +192, +2, +36, +252, +155, +187, +42, +249, +63, +173, +155, +75, +137, +169, +48, +162, +31, +179, +39, +65, +51, +16, +161, +100, +149, +230, +143, +83, +19, +113, +106, +204, +67, +7, +192, +62, +136, +1, +141, +61, +18, +244, +162, +134, +143, +205, +85, +127, +142, +254, +131, +22, +123, +35, +109, +55, +44, +59, +136, +21, +200, +21, +103, +224, +40, +123, +104, +16, +22, +154, +145, +219, +0, +43, +4, +254, +130, +19, +162, +173, +164, +157, +141, +90, +52, +15, +89, +138, +46, +89, +69, +223, +39, +116, +66, +188, +19, +81, +66, +66, +11, +67, +32, +242, +16, +97, +222, +184, +126, +136, +94, +163, +118, +44, +197, +132, +243, +110, +109, +170, +239, +7, +24, +180, +4, +172, +212, +57, +33, +31, +152, +35, +17, +191, +154, +185, +250, +247, +215, +140, +119, +91, +9, +125, +233, +127, +28, +152, +233, +57, +30, +66, +20, +84, +15, +213, +189, +52, +100, +15, +125, +157, +211, +246, +42, +234, +151, +192, +163, +106, +7, +161, +125, +248, +142, +115, +141, +89, +72, +44, +192, +38, +201, +45, +93, +69, +224, +25, +200, +222, +240, +116, +253, +93, +41, +4, +180, +173, +213, +23, +128, +8, +163, +175, +50, +202, +103, +241, +192, +155, +105, +24, +74, +77, +219, +217, +108, +197, +175, +40, +169, +223, +216, +222, +104, +5, +143, +198, +97, +195, +107, +250, +100, +241, +44, +100, +165, +243, +31, +100, +91, +58, +29, +9, +83, +22, +111, +255, +62, +222, +64, +158, +65, +183, +12, +159, +80, +186, +79, +84, +189, +52, +135, +159, +155, +92, +116, +239, +0, +250, +78, +118, +16, +93, +1, +60, +3, +249, +106, +205, +5, +14, +70, +150, +228, +51, +144, +37, +222, +36, +234, +211, +99, +219, +163, +62, +244, +239, +210, +78, +185, +141, +201, +119, +38, +213, +66, +96, +9, +125, +110, +246, +204, +25, +29, +248, +63, +165, +143, +100, +20, +61, +130, +124, +5, +89, +22, +195, +114, +51, +123, +131, +37, +245, +173, +194, +134, +215, +244, +201, +98, +192, +158, +98, +194, +131, +220, +12, +178, +12, +193, +2, +0, +241, +182, +122, +2, +209, +218, +46, +68, +246, +211, +165, +251, +239, +10, +62, +48, +188, +45, +192, +114, +58, +201, +127, +212, +178, +253, +243, +145, +125, +224, +83, +147, +223, +169, +91, +10, +9, +216, +50, +147, +18, +75, +50, +15, +253, +206, +228, +138, +73, +16, +5, +221, +184, +177, +204, +35, +95, +1, +238, +89, +82, +255, +182, +50, +1, +64, +79, +97, +195, +157, +103, +217, +42, +34, +80, +239, +64, +236, +217, +191, +133, +72, +187, +39, +145, +165, +231, +36, +36, +81, +65, +165, +253, +57, +34, +81, +15, +71, +52, +222, +51, +144, +51, +224, +155, +144, +4, +151, +181, +222, +107, +228, +202, +141, +78, +2, +0, +88, +18, +49, +246, +0, +49, +30, +178, +231, +167, +23, +208, +80, +67, +170, +237, +198, +211, +41, +200, +243, +139, +147, +223, +169, +91, +146, +22, +74, +34, +36, +144, +171, +221, +79, +7, +217, +79, +140, +5, +144, +159, +164, +120, +243, +232, +145, +155, +150, +251, +4, +64, +47, +97, +195, +199, +180, +0, +0, +62, +68, +190, +108, +90, +128, +236, +123, +220, +165, +224, +245, +128, +55, +224, +164, +78, +124, +155, +16, +100, +14, +98, +185, +118, +143, +83, +246, +48, +53, +199, +111, +140, +76, +37, +238, +67, +168, +0, +248, +166, +210, +79, +66, +52, +208, +203, +146, +107, +184, +191, +214, +240, +153, +192, +56, +18, +0, +125, +193, +62, +115, +224, +161, +209, +238, +75, +40, +16, +97, +104, +141, +171, +246, +41, +212, +189, +7, +81, +118, +226, +27, +75, +244, +20, +54, +220, +25, +203, +209, +5, +64, +103, +222, +58, +137, +231, +81, +56, +127, +5, +94, +65, +254, +117, +246, +102, +168, +37, +143, +199, +254, +49, +70, +122, +177, +61, +31, +57, +170, +128, +18, +73, +236, +208, +186, +46, +175, +173, +4, +0, +146, +78, +124, +1, +34, +76, +94, +236, +148, +111, +174, +101, +243, +9, +76, +209, +173, +237, +146, +0, +48, +198, +0, +175, +213, +103, +49, +16, +206, +61, +160, +109, +48, +2, +120, +185, +122, +157, +218, +96, +29, +228, +71, +171, +144, +251, +222, +219, +165, +189, +253, +138, +251, +4, +64, +47, +97, +195, +157, +118, +99, +82, +0, +44, +65, +121, +184, +174, +189, +148, +249, +93, +21, +109, +189, +91, +4, +224, +29, +218, +182, +210, +79, +153, +145, +222, +114, +62, +84, +10, +0, +100, +223, +118, +135, +210, +250, +108, +214, +247, +215, +186, +219, +9, +56, +23, +215, +54, +227, +206, +14, +162, +15, +56, +239, +255, +198, +22, +109, +67, +114, +233, +93, +66, +141, +160, +5, +94, +132, +108, +45, +167, +233, +191, +25, +20, +76, +150, +75, +218, +189, +13, +249, +162, +91, +109, +251, +127, +128, +247, +2, +235, +218, +129, +229, +105, +99, +87, +14, +215, +117, +233, +179, +135, +111, +183, +73, +58, +74, +188, +173, +70, +20, +96, +94, +139, +182, +219, +106, +219, +1, +251, +230, +2, +221, +239, +171, +231, +127, +173, +0, +56, +73, +233, +46, +194, +179, +215, +71, +132, +148, +85, +106, +157, +232, +169, +247, +157, +2, +148, +253, +235, +124, +10, +128, +8, +151, +179, +144, +175, +205, +28, +68, +195, +124, +8, +125, +38, +128, +44, +239, +203, +230, +200, +113, +215, +43, +139, +207, +14, +177, +162, +180, +95, +196, +74, +3, +164, +30, +251, +183, +22, +114, +44, +57, +13, +89, +229, +189, +14, +17, +0, +119, +0, +107, +181, +228, +185, +161, +29, +88, +158, +186, +81, +9, +27, +222, +5, +125, +11, +0, +187, +231, +169, +74, +250, +81, +214, +214, +58, +41, +84, +42, +144, +24, +233, +79, +223, +88, +0, +116, +5, +67, +180, +3, +32, +95, +141, +128, +124, +149, +110, +38, +215, +129, +220, +71, +3, +115, +229, +24, +32, +119, +50, +2, +153, +100, +215, +33, +138, +96, +55, +205, +247, +31, +168, +8, +181, +221, +115, +255, +174, +66, +86, +136, +238, +182, +238, +165, +72, +76, +191, +1, +187, +249, +64, +158, +27, +217, +27, +243, +212, +141, +74, +216, +240, +46, +112, +222, +211, +6, +125, +48, +183, +17, +71, +143, +9, +164, +95, +6, +217, +255, +255, +4, +81, +4, +94, +67, +137, +39, +89, +161, +221, +215, +201, +21, +135, +69, +244, +42, +0, +134, +5, +228, +43, +187, +72, +39, +252, +7, +200, +205, +65, +159, +129, +216, +254, +163, +19, +208, +231, +209, +248, +74, +224, +159, +200, +215, +111, +22, +98, +26, +252, +85, +224, +185, +14, +205, +218, +192, +111, +27, +246, +105, +69, +36, +54, +222, +121, +200, +22, +105, +58, +162, +15, +186, +15, +49, +40, +122, +87, +135, +251, +13, +70, +219, +107, +180, +236, +87, +149, +0, +24, +149, +176, +225, +93, +224, +60, +198, +117, +128, +93, +16, +33, +22, +20, +112, +180, +142, +241, +115, +144, +37, +234, +2, +2, +150, +23, +133, +119, +58, +9, +177, +121, +14, +126, +136, +136, +100, +63, +88, +7, +222, +223, +201, +221, +124, +23, +23, +1, +96, +183, +42, +62, +143, +197, +101, +201, +245, +24, +239, +241, +212, +91, +69, +230, +181, +140, +52, +74, +1, +81, +182, +94, +133, +76, +220, +57, +195, +185, +155, +122, +16, +73, +7, +208, +67, +191, +170, +4, +192, +168, +132, +13, +239, +2, +103, +28, +88, +147, +241, +224, +128, +163, +85, +76, +151, +6, +46, +211, +198, +65, +241, +198, +145, +175, +215, +36, +196, +1, +103, +33, +114, +58, +112, +8, +29, +44, +201, +22, +51, +1, +112, +183, +222, +207, +75, +74, +234, +109, +16, +144, +147, +61, +117, +39, +1, +207, +116, +126, +111, +4, +124, +67, +5, +194, +60, +196, +208, +231, +92, +26, +156, +116, +140, +7, +16, +217, +36, +87, +121, +150, +10, +0, +173, +111, +21, +54, +92, +203, +175, +211, +255, +55, +10, +253, +221, +165, +207, +78, +159, +230, +225, +56, +189, +17, +16, +112, +180, +234, +130, +191, +210, +134, +151, +208, +98, +255, +135, +44, +107, +191, +174, +23, +190, +159, +246, +57, +209, +22, +39, +1, +96, +207, +159, +159, +81, +82, +111, +143, +220, +90, +37, +143, +92, +220, +64, +15, +38, +185, +202, +183, +82, +0, +40, +77, +227, +176, +225, +202, +114, +22, +178, +53, +131, +24, +95, +226, +128, +62, +59, +188, +27, +7, +28, +45, +187, +216, +193, +218, +224, +150, +178, +193, +218, +160, +227, +214, +56, +231, +172, +150, +237, +163, +11, +0, +26, +160, +130, +199, +70, +136, +95, +249, +125, +200, +210, +252, +126, +196, +87, +187, +84, +202, +234, +64, +2, +120, +126, +73, +253, +139, +180, +62, +118, +246, +224, +113, +7, +122, +50, +201, +237, +19, +206, +176, +105, +28, +250, +59, +128, +119, +136, +0, +104, +28, +112, +212, +71, +252, +37, +37, +190, +31, +71, +193, +212, +22, +228, +199, +136, +173, +34, +150, +106, +219, +216, +2, +96, +114, +205, +191, +59, +170, +250, +140, +28, +157, +89, +203, +201, +153, +136, +38, +223, +250, +102, +79, +163, +124, +137, +111, +51, +188, +120, +29, +148, +200, +5, +111, +212, +88, +248, +248, +49, +27, +89, +214, +158, +137, +196, +81, +240, +154, +74, +3, +171, +43, +237, +28, +58, +126, +12, +26, +246, +185, +23, +147, +220, +62, +225, +60, +219, +56, +95, +226, +145, +109, +67, +4, +128, +215, +220, +155, +138, +128, +163, +69, +66, +43, +41, +30, +2, +54, +109, +218, +201, +18, +158, +219, +40, +207, +39, +91, +182, +135, +33, +111, +1, +16, +255, +7, +128, +95, +148, +212, +159, +171, +245, +167, +161, +70, +80, +136, +242, +200, +122, +222, +157, +91, +210, +110, +31, +173, +191, +31, +71, +72, +32, +118, +10, +159, +33, +15, +85, +85, +105, +55, +209, +226, +126, +44, +174, +37, +87, +188, +93, +67, +110, +231, +15, +162, +120, +245, +230, +216, +67, +124, +206, +1, +190, +26, +179, +95, +53, +125, +238, +197, +36, +183, +79, +56, +207, +178, +251, +151, +120, +176, +109, +136, +0, +40, +139, +191, +88, +26, +112, +212, +37, +218, +133, +220, +123, +46, +90, +66, +76, +242, +0, +8, +173, +242, +150, +105, +219, +161, +9, +0, +196, +51, +239, +17, +125, +22, +94, +215, +77, +114, +31, +253, +77, +10, +229, +207, +215, +242, +178, +149, +195, +146, +72, +188, +62, +144, +109, +195, +69, +200, +23, +248, +78, +189, +158, +77, +144, +50, +37, +242, +61, +89, +108, +81, +40, +95, +18, +216, +155, +252, +248, +213, +123, +228, +135, +156, +206, +128, +40, +49, +135, +18, +44, +132, +158, +76, +114, +251, +132, +211, +167, +198, +161, +191, +29, +154, +98, +36, +227, +75, +16, +235, +197, +245, +44, +243, +138, +235, +54, +10, +56, +234, +198, +155, +219, +193, +24, +115, +146, +49, +102, +166, +49, +102, +199, +44, +203, +130, +82, +104, +107, +219, +115, +145, +44, +48, +43, +23, +202, +215, +0, +14, +52, +198, +88, +103, +12, +175, +47, +193, +24, +196, +158, +198, +152, +213, +141, +49, +103, +100, +89, +118, +123, +9, +205, +52, +253, +187, +160, +80, +190, +72, +255, +122, +95, +112, +150, +101, +11, +141, +49, +59, +25, +99, +190, +96, +140, +153, +108, +140, +121, +153, +49, +102, +107, +99, +204, +29, +198, +152, +237, +140, +49, +147, +148, +244, +250, +86, +61, +111, +136, +44, +203, +22, +102, +89, +246, +75, +99, +204, +63, +181, +104, +235, +18, +186, +107, +140, +49, +151, +25, +99, +214, +53, +198, +120, +131, +90, +246, +0, +59, +158, +254, +107, +140, +185, +180, +226, +95, +235, +80, +216, +200, +138, +237, +54, +59, +118, +129, +85, +145, +237, +223, +192, +41, +76, +67, +148, +29, +197, +206, +210, +191, +222, +0, +177, +72, +68, +160, +191, +25, +99, +94, +175, +180, +55, +27, +99, +54, +50, +198, +156, +106, +140, +217, +55, +224, +186, +235, +151, +148, +91, +157, +147, +127, +60, +147, +239, +95, +167, +82, +189, +55, +30, +152, +196, +142, +244, +89, +132, +40, +109, +254, +135, +124, +209, +236, +87, +101, +1, +78, +116, +219, +166, +80, +30, +67, +89, +1, +32, +190, +240, +246, +248, +231, +213, +21, +116, +39, +42, +205, +247, +10, +229, +54, +241, +99, +144, +209, +148, +135, +175, +221, +215, +182, +142, +205, +87, +194, +215, +194, +187, +178, +67, +18, +143, +0, +28, +86, +193, +99, +87, +165, +137, +151, +129, +182, +2, +12, +193, +36, +23, +209, +107, +0, +188, +86, +127, +219, +232, +187, +179, +91, +242, +179, +104, +19, +250, +187, +117, +36, +99, +231, +186, +173, +2, +142, +54, +209, +138, +159, +230, +105, +187, +35, +162, +13, +159, +132, +156, +151, +206, +71, +20, +97, +147, +17, +43, +194, +78, +193, +10, +245, +186, +195, +18, +0, +187, +233, +245, +42, +147, +122, +34, +203, +49, +235, +37, +249, +83, +96, +3, +242, +173, +206, +245, +180, +8, +158, +161, +47, +218, +186, +46, +87, +230, +17, +104, +193, +219, +98, +64, +0, +32, +250, +7, +27, +64, +99, +192, +0, +201, +161, +91, +218, +185, +103, +175, +227, +88, +76, +48, +4, +147, +92, +6, +87, +0, +171, +32, +43, +128, +83, +90, +242, +179, +104, +19, +250, +187, +117, +36, +99, +231, +186, +173, +2, +142, +38, +152, +167, +30, +150, +141, +72, +91, +107, +254, +138, +72, +236, +171, +25, +137, +95, +2, +171, +180, +188, +190, +245, +186, +59, +191, +77, +251, +26, +222, +3, +2, +0, +49, +217, +222, +20, +56, +70, +235, +254, +76, +137, +18, +208, +105, +99, +227, +22, +30, +25, +187, +143, +158, +107, +141, +103, +147, +220, +198, +95, +98, +58, +68, +50, +214, +226, +7, +201, +117, +72, +141, +3, +142, +78, +120, +32, +209, +111, +64, +108, +31, +106, +163, +7, +233, +132, +189, +23, +145, +186, +214, +113, +230, +6, +26, +154, +136, +34, +193, +59, +191, +170, +124, +102, +81, +178, +124, +236, +2, +170, +113, +17, +162, +195, +169, +156, +252, +202, +231, +89, +200, +57, +246, +116, +122, +142, +19, +200, +248, +54, +201, +109, +252, +37, +166, +67, +36, +99, +45, +254, +147, +254, +63, +5, +28, +109, +3, +114, +119, +225, +79, +214, +208, +45, +1, +252, +86, +105, +47, +70, +52, +255, +203, +34, +73, +61, +158, +64, +116, +31, +7, +86, +180, +255, +53, +146, +190, +235, +207, +72, +8, +116, +27, +12, +229, +1, +122, +74, +126, +234, +12, +76, +247, +24, +240, +74, +36, +142, +224, +2, +189, +247, +215, +4, +242, +58, +89, +121, +125, +174, +143, +190, +22, +174, +213, +202, +36, +55, +128, +175, +133, +111, +34, +214, +90, +9, +6, +240, +109, +28, +250, +155, +8, +145, +140, +19, +90, +2, +241, +51, +7, +9, +95, +86, +153, +58, +140, +220, +162, +235, +66, +10, +81, +118, +145, +175, +210, +157, +90, +255, +145, +146, +246, +199, +32, +147, +126, +1, +114, +212, +117, +33, +98, +244, +210, +219, +23, +213, +25, +124, +190, +99, +192, +143, +146, +7, +80, +173, +253, +154, +146, +43, +202, +110, +33, +96, +213, +208, +21, +180, +48, +201, +13, +224, +217, +183, +0, +104, +28, +250, +155, +142, +145, +140, +163, +0, +241, +40, +67, +59, +28, +108, +245, +165, +15, +237, +24, +68, +241, +247, +184, +182, +191, +9, +113, +96, +241, +90, +197, +105, +187, +189, +169, +135, +215, +168, +166, +192, +103, +101, +100, +207, +120, +33, +50, +169, +230, +107, +31, +130, +246, +170, +228, +201, +52, +106, +181, +239, +228, +169, +175, +203, +94, +148, +205, +225, +55, +102, +236, +249, +157, +103, +89, +119, +10, +16, +116, +164, +134, +172, +36, +96, +12, +45, +191, +155, +192, +121, +30, +125, +9, +128, +198, +161, +191, +233, +16, +201, +56, +26, +144, +244, +67, +54, +209, +96, +80, +54, +29, +196, +44, +214, +218, +184, +207, +69, +20, +105, +215, +144, +47, +211, +230, +1, +59, +149, +180, +253, +134, +210, +84, +29, +63, +86, +30, +169, +33, +150, +134, +110, +84, +225, +7, +181, +221, +20, +224, +204, +128, +254, +111, +138, +44, +219, +103, +19, +32, +244, +200, +29, +122, +188, +209, +142, +129, +103, +107, +253, +88, +114, +203, +173, +19, +0, +31, +209, +250, +89, +190, +122, +15, +253, +158, +74, +223, +202, +191, +99, +180, +49, +4, +1, +208, +88, +219, +78, +135, +72, +198, +81, +1, +108, +73, +30, +87, +255, +229, +1, +244, +103, +105, +191, +46, +99, +100, +64, +209, +229, +200, +143, +46, +38, +151, +180, +181, +254, +203, +94, +205, +103, +192, +181, +55, +35, +183, +202, +251, +13, +133, +227, +41, +2, +180, +199, +228, +49, +7, +74, +147, +119, +22, +232, +173, +75, +175, +247, +235, +135, +88, +84, +2, +220, +20, +118, +23, +253, +35, +64, +0, +216, +19, +136, +202, +216, +141, +14, +253, +211, +17, +47, +189, +133, +244, +17, +133, +166, +103, +140, +81, +1, +208, +58, +146, +113, +116, +168, +16, +120, +0, +184, +33, +128, +214, +106, +47, +7, +98, +229, +145, +155, +144, +122, +191, +134, +192, +41, +90, +223, +202, +186, +140, +252, +88, +165, +84, +233, +86, +211, +126, +29, +125, +176, +139, +8, +244, +208, +34, +63, +175, +189, +157, +130, +177, +16, +98, +19, +97, +87, +80, +251, +151, +241, +24, +54, +2, +4, +128, +117, +253, +190, +188, +1, +79, +123, +228, +116, +104, +188, +158, +14, +7, +99, +81, +0, +104, +251, +170, +72, +198, +95, +71, +21, +198, +109, +120, +247, +134, +154, +135, +121, +144, +214, +253, +179, +164, +237, +249, +90, +95, +187, +210, +240, +180, +125, +177, +182, +157, +66, +77, +242, +203, +10, +30, +118, +50, +255, +185, +65, +155, +21, +201, +189, +250, +64, +190, +132, +55, +50, +50, +161, +233, +25, +4, +158, +93, +3, +107, +146, +167, +231, +190, +34, +176, +77, +211, +16, +217, +22, +69, +37, +96, +6, +236, +65, +174, +129, +174, +205, +226, +235, +180, +125, +46, +185, +239, +200, +114, +161, +237, +106, +250, +215, +118, +226, +108, +139, +124, +76, +110, +211, +73, +50, +3, +49, +170, +58, +20, +143, +14, +170, +102, +204, +142, +154, +0, +80, +30, +222, +72, +198, +90, +119, +93, +155, +228, +11, +222, +105, +0, +0, +32, +0, +73, +68, +65, +84, +126, +245, +10, +223, +77, +35, +103, +184, +54, +55, +252, +109, +192, +179, +75, +218, +94, +175, +52, +222, +250, +154, +235, +30, +168, +109, +127, +210, +178, +223, +171, +146, +235, +41, +26, +69, +250, +69, +172, +226, +246, +65, +142, +207, +30, +211, +9, +244, +40, +18, +179, +239, +169, +88, +127, +129, +188, +142, +210, +62, +60, +0, +60, +39, +128, +190, +113, +136, +108, +231, +29, +185, +199, +128, +151, +147, +103, +16, +6, +57, +222, +107, +154, +61, +233, +47, +218, +246, +227, +77, +218, +85, +244, +175, +205, +210, +217, +21, +134, +183, +35, +177, +18, +239, +33, +55, +157, +29, +88, +29, +86, +93, +143, +252, +195, +50, +42, +2, +96, +84, +65, +139, +240, +75, +197, +155, +70, +190, +12, +54, +106, +203, +239, +168, +176, +140, +115, +6, +224, +13, +228, +122, +135, +25, +136, +34, +241, +48, +96, +227, +138, +182, +214, +183, +250, +3, +136, +34, +240, +92, +228, +4, +194, +102, +214, +221, +151, +81, +138, +100, +27, +10, +36, +86, +194, +66, +237, +119, +173, +7, +38, +45, +67, +100, +227, +199, +34, +114, +161, +181, +107, +203, +254, +91, +151, +220, +255, +182, +105, +239, +233, +95, +27, +1, +96, +141, +176, +182, +43, +148, +175, +130, +152, +118, +15, +40, +107, +201, +133, +195, +139, +60, +117, +54, +151, +197, +216, +250, +210, +246, +13, +90, +134, +95, +42, +190, +60, +242, +188, +238, +181, +54, +220, +192, +57, +74, +251, +24, +18, +84, +99, +50, +249, +30, +26, +68, +8, +121, +191, +46, +228, +86, +98, +135, +32, +95, +224, +123, +144, +47, +210, +69, +228, +10, +147, +191, +50, +138, +185, +238, +235, +128, +108, +29, +166, +2, +91, +6, +210, +71, +15, +145, +61, +22, +208, +81, +0, +216, +49, +251, +170, +6, +109, +236, +24, +123, +183, +167, +238, +232, +9, +39, +0, +232, +16, +126, +201, +35, +0, +172, +86, +62, +40, +35, +47, +158, +76, +61, +192, +243, +200, +45, +206, +22, +1, +219, +122, +104, +158, +112, +234, +191, +228, +78, +116, +196, +108, +210, +30, +13, +214, +166, +7, +79, +24, +93, +116, +20, +0, +214, +131, +114, +26, +18, +200, +165, +54, +89, +8, +185, +221, +199, +21, +56, +33, +235, +17, +109, +187, +213, +196, +79, +40, +1, +208, +58, +252, +146, +71, +0, +156, +161, +191, +255, +71, +71, +175, +54, +135, +215, +217, +158, +58, +171, +184, +250, +105, +73, +91, +107, +100, +84, +233, +217, +151, +48, +250, +112, +198, +208, +250, +72, +120, +178, +43, +244, +67, +242, +36, +178, +69, +169, +212, +209, +0, +7, +56, +60, +230, +35, +137, +76, +94, +91, +65, +255, +26, +103, +252, +204, +64, +156, +186, +172, +201, +241, +183, +24, +35, +218, +118, +2, +17, +227, +66, +173, +195, +47, +57, +253, +176, +2, +96, +53, +196, +198, +29, +100, +41, +254, +77, +90, +46, +195, +145, +99, +53, +240, +251, +79, +91, +205, +185, +55, +12, +54, +98, +224, +3, +53, +161, +200, +144, +213, +198, +137, +200, +82, +124, +62, +178, +31, +191, +4, +201, +224, +227, +205, +136, +172, +237, +90, +5, +147, +64, +146, +119, +124, +13, +81, +194, +77, +211, +107, +78, +69, +132, +221, +86, +177, +219, +141, +7, +56, +99, +200, +166, +115, +191, +27, +217, +130, +218, +119, +60, +159, +146, +248, +12, +192, +203, +144, +45, +228, +99, +200, +135, +234, +50, +135, +223, +241, +192, +178, +37, +237, +222, +128, +156, +66, +77, +67, +38, +252, +53, +168, +249, +54, +37, +218, +246, +226, +88, +47, +212, +133, +132, +236, +170, +132, +167, +93, +85, +46, +5, +107, +143, +210, +42, +212, +94, +241, +66, +173, +195, +47, +249, +30, +10, +162, +37, +255, +6, +121, +128, +131, +179, +129, +167, +181, +232, +151, +245, +128, +26, +8, +208, +128, +40, +42, +161, +160, +252, +113, +234, +159, +161, +245, +165, +89, +109, +17, +187, +118, +235, +140, +51, +23, +209, +67, +184, +105, +209, +75, +99, +236, +211, +50, +152, +4, +185, +185, +245, +124, +228, +20, +228, +42, +242, +237, +204, +2, +224, +245, +49, +219, +85, +244, +227, +45, +218, +54, +232, +232, +209, +211, +126, +64, +168, +35, +19, +174, +18, +37, +188, +44, +230, +3, +187, +56, +229, +171, +59, +247, +93, +182, +58, +181, +31, +155, +55, +59, +101, +219, +144, +7, +118, +245, +174, +16, +219, +192, +233, +103, +83, +1, +112, +82, +200, +191, +6, +253, +88, +146, +252, +4, +173, +117, +176, +29, +151, +97, +235, +140, +168, +53, +15, +101, +11, +114, +79, +168, +160, +228, +34, +133, +246, +239, +212, +182, +183, +122, +234, +172, +17, +145, +247, +1, +144, +11, +143, +187, +43, +248, +219, +243, +252, +75, +113, +204, +128, +17, +171, +172, +255, +171, +233, +91, +171, +96, +18, +136, +78, +229, +211, +56, +206, +63, +136, +213, +164, +221, +151, +150, +5, +20, +109, +213, +174, +162, +31, +246, +20, +197, +187, +234, +83, +154, +181, +17, +99, +171, +199, +245, +126, +183, +208, +242, +221, +128, +251, +60, +244, +239, +69, +242, +44, +22, +255, +253, +81, +175, +229, +181, +52, +116, +198, +208, +81, +158, +58, +235, +7, +255, +96, +73, +91, +43, +192, +87, +45, +148, +111, +169, +229, +211, +124, +237, +218, +160, +102, +172, +183, +182, +31, +104, +209, +15, +107, +185, +121, +55, +45, +62, +172, +62, +134, +173, +195, +47, +85, +61, +20, +173, +183, +166, +177, +222, +244, +226, +53, +188, +173, +153, +241, +64, +116, +94, +29, +108, +32, +202, +203, +1, +15, +62, +224, +251, +90, +95, +154, +43, +143, +124, +133, +210, +58, +99, +75, +44, +144, +123, +36, +54, +90, +210, +181, +105, +135, +100, +199, +93, +132, +28, +161, +121, +151, +200, +74, +119, +28, +178, +23, +159, +172, +244, +139, +244, +255, +179, +8, +207, +21, +185, +20, +249, +87, +220, +235, +106, +237, +140, +161, +1, +111, +57, +242, +92, +9, +197, +248, +139, +182, +222, +58, +103, +125, +177, +80, +190, +154, +150, +63, +28, +210, +207, +16, +140, +5, +1, +128, +196, +143, +176, +10, +238, +82, +225, +221, +148, +105, +235, +240, +75, +1, +2, +96, +11, +173, +247, +45, +227, +255, +12, +236, +4, +172, +84, +40, +127, +22, +185, +121, +234, +116, +96, +125, +79, +219, +165, +200, +61, +168, +46, +70, +181, +191, +136, +117, +219, +222, +200, +228, +94, +68, +197, +241, +144, +211, +247, +129, +243, +224, +97, +131, +138, +156, +245, +177, +219, +1, +63, +214, +38, +3, +57, +10, +11, +116, +83, +129, +15, +232, +255, +95, +140, +172, +2, +108, +154, +171, +160, +212, +220, +136, +82, +13, +224, +156, +10, +26, +139, +1, +165, +113, +221, +196, +66, +44, +231, +108, +252, +201, +19, +201, +117, +81, +54, +191, +197, +9, +33, +253, +12, +188, +151, +210, +177, +94, +215, +207, +136, +125, +248, +182, +94, +230, +26, +98, +185, +99, +211, +33, +252, +146, +251, +80, +244, +101, +63, +203, +169, +91, +154, +220, +34, +112, +96, +175, +233, +180, +93, +132, +68, +215, +185, +158, +145, +250, +136, +71, +41, +217, +227, +107, +251, +231, +147, +239, +217, +231, +33, +123, +120, +55, +88, +68, +229, +254, +200, +161, +107, +44, +0, +104, +153, +179, +14, +17, +92, +31, +68, +142, +57, +39, +33, +210, +124, +58, +185, +86, +186, +108, +160, +183, +106, +231, +225, +179, +28, +121, +32, +144, +245, +234, +250, +26, +194, +179, +162, +253, +75, +245, +189, +60, +65, +197, +177, +176, +59, +134, +60, +117, +33, +105, +188, +94, +67, +190, +202, +88, +132, +40, +74, +23, +33, +218, +253, +213, +187, +220, +67, +204, +126, +70, +184, +254, +51, +201, +21, +163, +241, +130, +165, +210, +33, +252, +146, +251, +80, +156, +23, +112, +51, +98, +16, +100, +39, +243, +130, +146, +182, +111, +67, +162, +235, +220, +138, +44, +43, +109, +176, +135, +203, +144, +211, +131, +218, +224, +154, +136, +178, +239, +80, +229, +49, +87, +219, +159, +77, +64, +242, +72, +167, +239, +141, +4, +0, +237, +141, +166, +214, +36, +247, +165, +183, +207, +197, +70, +82, +182, +171, +25, +159, +18, +169, +85, +187, +146, +62, +216, +253, +227, +233, +77, +238, +185, +41, +144, +152, +131, +54, +198, +226, +110, +53, +180, +79, +141, +33, +79, +93, +240, +196, +2, +94, +133, +172, +28, +109, +148, +235, +203, +112, +18, +170, +118, +69, +172, +126, +118, +184, +190, +141, +223, +248, +215, +62, +152, +119, +201, +136, +138, +62, +128, +189, +244, +161, +79, +67, +36, +255, +20, +100, +153, +223, +200, +214, +190, +111, +144, +107, +240, +189, +168, +105, +219, +197, +104, +234, +55, +90, +55, +21, +49, +58, +121, +186, +83, +87, +165, +69, +110, +213, +174, +164, +255, +255, +85, +242, +202, +47, +8, +29, +143, +29, +17, +229, +31, +4, +164, +238, +114, +199, +144, +167, +174, +241, +196, +66, +78, +15, +78, +213, +102, +165, +91, +143, +166, +168, +233, +103, +175, +17, +123, +128, +23, +34, +130, +127, +1, +125, +69, +101, +166, +135, +240, +75, +99, +17, +136, +143, +194, +105, +206, +11, +61, +71, +127, +159, +134, +39, +244, +121, +161, +109, +23, +163, +41, +187, +106, +24, +8, +23, +70, +158, +67, +209, +39, +0, +90, +181, +243, +208, +110, +173, +164, +33, +110, +222, +173, +143, +29, +17, +197, +164, +13, +150, +26, +178, +138, +171, +154, +88, +173, +190, +172, +136, +16, +128, +192, +32, +39, +129, +60, +45, +124, +62, +4, +189, +70, +236, +33, +63, +181, +57, +186, +15, +254, +19, +18, +85, +47, +180, +162, +77, +23, +163, +41, +123, +234, +176, +173, +167, +206, +38, +21, +241, +9, +128, +86, +237, +60, +180, +246, +171, +248, +169, +0, +218, +182, +199, +149, +79, +71, +182, +128, +224, +177, +181, +47, +105, +211, +74, +0, +32, +142, +103, +251, +81, +80, +18, +35, +129, +91, +191, +172, +205, +188, +193, +104, +218, +192, +233, +167, +207, +135, +224, +136, +190, +4, +0, +121, +66, +145, +25, +44, +38, +31, +225, +49, +129, +150, +2, +160, +139, +209, +148, +221, +175, +31, +135, +42, +216, +116, +176, +238, +69, +133, +50, +175, +109, +187, +2, +143, +103, +145, +39, +109, +25, +240, +191, +104, +112, +255, +149, +199, +142, +136, +98, +20, +224, +196, +6, +60, +45, +154, +10, +128, +45, +156, +182, +83, +145, +149, +235, +21, +228, +43, +166, +57, +56, +6, +66, +93, +225, +92, +171, +232, +67, +240, +46, +122, +138, +216, +163, +239, +217, +234, +127, +190, +21, +147, +247, +168, +163, +234, +197, +7, +180, +253, +56, +18, +94, +123, +153, +170, +178, +138, +246, +75, +59, +215, +127, +126, +29, +189, +211, +174, +139, +209, +212, +78, +133, +1, +123, +53, +185, +13, +198, +126, +168, +34, +54, +86, +187, +2, +15, +107, +47, +255, +243, +208, +123, +45, +225, +83, +122, +236, +136, +36, +191, +180, +39, +58, +193, +9, +82, +170, +198, +1, +213, +2, +96, +57, +224, +115, +250, +188, +109, +92, +134, +199, +16, +229, +227, +49, +68, +202, +112, +237, +233, +39, +228, +62, +4, +174, +242, +124, +126, +221, +123, +104, +113, +205, +143, +40, +255, +7, +0, +111, +78, +193, +113, +139, +170, +23, +31, +208, +214, +198, +19, +60, +162, +170, +172, +162, +253, +122, +206, +245, +87, +171, +163, +119, +218, +117, +202, +89, +135, +248, +155, +95, +142, +40, +11, +167, +33, +166, +172, +239, +214, +186, +147, +203, +6, +80, +219, +118, +90, +239, +166, +245, +10, +18, +118, +180, +56, +118, +116, +38, +195, +121, +248, +45, +2, +127, +0, +172, +27, +246, +164, +198, +30, +156, +241, +178, +23, +114, +234, +51, +15, +17, +118, +135, +33, +6, +58, +255, +139, +41, +0, +144, +237, +148, +85, +56, +119, +10, +186, +210, +244, +194, +0, +199, +55, +108, +179, +153, +14, +208, +25, +192, +5, +84, +4, +243, +40, +92, +167, +173, +0, +88, +150, +124, +105, +180, +91, +89, +89, +69, +123, +155, +171, +189, +209, +30, +145, +33, +228, +172, +139, +13, +36, +104, +10, +4, +154, +11, +211, +254, +184, +50, +4, +193, +126, +251, +99, +13, +206, +61, +84, +218, +79, +68, +188, +222, +87, +236, +24, +101, +152, +113, +45, +90, +10, +128, +203, +145, +229, +247, +54, +136, +86, +253, +162, +192, +235, +180, +18, +0, +218, +254, +121, +136, +192, +153, +137, +6, +201, +240, +149, +121, +218, +109, +133, +236, +229, +231, +18, +96, +47, +80, +104, +59, +30, +115, +214, +89, +135, +153, +218, +156, +135, +74, +31, +237, +216, +113, +113, +130, +51, +94, +135, +18, +9, +153, +60, +206, +228, +221, +52, +216, +106, +182, +189, +216, +26, +136, +59, +166, +53, +222, +88, +136, +44, +233, +206, +69, +114, +215, +85, +38, +59, +208, +9, +103, +131, +23, +238, +2, +76, +15, +184, +102, +39, +1, +160, +60, +62, +172, +60, +110, +69, +77, +138, +125, +101, +37, +215, +125, +130, +234, +116, +232, +3, +171, +3, +198, +89, +206, +58, +114, +167, +168, +187, +8, +252, +138, +16, +233, +216, +113, +113, +67, +140, +241, +218, +242, +122, +149, +136, +113, +161, +13, +200, +227, +243, +89, +239, +170, +39, +201, +205, +14, +161, +102, +201, +139, +104, +96, +207, +66, +206, +154, +207, +1, +46, +108, +112, +131, +27, +21, +202, +215, +118, +38, +217, +55, +107, +120, +216, +201, +126, +39, +185, +103, +222, +64, +89, +201, +117, +91, +61, +92, +122, +202, +89, +215, +7, +144, +92, +132, +0, +95, +105, +208, +38, +202, +177, +99, +108, +208, +62, +6, +67, +171, +140, +87, +30, +62, +222, +241, +58, +238, +1, +252, +93, +111, +236, +100, +228, +11, +7, +226, +219, +157, +33, +129, +53, +190, +10, +172, +80, +195, +99, +115, +228, +120, +100, +38, +226, +156, +83, +27, +103, +223, +247, +64, +245, +250, +54, +237, +118, +93, +86, +160, +231, +233, +75, +157, +141, +134, +127, +246, +149, +245, +1, +250, +203, +89, +119, +157, +254, +191, +113, +100, +28, +15, +191, +213, +180, +253, +156, +38, +3, +159, +8, +199, +142, +125, +128, +246, +49, +24, +26, +103, +188, +42, +225, +179, +216, +10, +0, +251, +213, +127, +174, +254, +134, +134, +58, +128, +150, +215, +29, +241, +64, +17, +205, +179, +21, +70, +103, +81, +177, +100, +101, +164, +194, +239, +163, +101, +101, +227, +9, +218, +239, +89, +136, +9, +46, +52, +136, +140, +19, +185, +31, +157, +143, +29, +27, +92, +43, +56, +47, +2, +45, +99, +48, +40, +109, +163, +140, +87, +37, +60, +22, +91, +1, +96, +131, +118, +188, +64, +127, +15, +91, +0, +172, +171, +191, +173, +179, +195, +21, +212, +156, +121, +146, +31, +249, +29, +85, +85, +54, +158, +224, +60, +143, +198, +145, +113, +122, +232, +75, +235, +99, +199, +134, +215, +105, +148, +23, +161, +227, +181, +130, +51, +94, +77, +40, +144, +107, +125, +207, +71, +210, +101, +5, +11, +0, +58, +56, +141, +56, +3, +126, +37, +242, +175, +222, +109, +132, +217, +143, +239, +133, +232, +26, +150, +169, +42, +27, +79, +112, +158, +71, +227, +200, +56, +227, +17, +52, +204, +139, +176, +56, +3, +120, +1, +146, +165, +249, +78, +68, +7, +243, +32, +178, +157, +252, +70, +9, +125, +20, +189, +134, +101, +182, +22, +185, +59, +171, +53, +105, +60, +139, +138, +104, +49, +158, +142, +180, +113, +26, +65, +7, +192, +251, +201, +131, +58, +116, +138, +36, +60, +158, +225, +8, +128, +198, +145, +113, +198, +35, +104, +144, +23, +161, +203, +135, +102, +172, +3, +9, +125, +103, +183, +225, +243, +17, +155, +11, +155, +113, +219, +235, +250, +75, +36, +189, +134, +203, +112, +5, +196, +189, +213, +77, +181, +253, +40, +146, +130, +107, +224, +40, +205, +105, +215, +58, +86, +157, +35, +0, +102, +59, +215, +236, +100, +170, +218, +7, +144, +147, +141, +63, +170, +144, +156, +141, +40, +58, +39, +35, +22, +96, +3, +251, +73, +231, +94, +26, +125, +213, +156, +118, +141, +34, +227, +180, +189, +222, +120, +2, +237, +131, +169, +142, +105, +193, +129, +164, +147, +183, +167, +71, +191, +64, +77, +168, +17, +5, +252, +22, +84, +40, +178, +137, +160, +215, +240, +49, +93, +74, +59, +243, +8, +249, +106, +224, +54, +26, +90, +63, +17, +16, +171, +206, +25, +184, +23, +0, +219, +59, +15, +98, +224, +11, +56, +90, +0, +118, +37, +95, +157, +216, +140, +173, +55, +145, +167, +151, +58, +204, +211, +166, +171, +0, +104, +27, +118, +122, +113, +22, +0, +109, +189, +19, +27, +11, +142, +182, +239, +193, +161, +9, +94, +206, +147, +39, +208, +253, +119, +248, +211, +24, +209, +62, +190, +94, +67, +59, +116, +60, +34, +157, +172, +251, +107, +35, +229, +19, +1, +177, +234, +138, +15, +26, +201, +84, +11, +226, +71, +62, +38, +220, +30, +201, +131, +78, +126, +169, +80, +190, +58, +240, +73, +60, +130, +177, +237, +132, +108, +59, +240, +34, +92, +207, +98, +158, +14, +166, +179, +245, +93, +84, +157, +194, +52, +254, +178, +182, +189, +191, +154, +123, +168, +243, +78, +108, +44, +56, +186, +244, +147, +134, +203, +121, +68, +225, +13, +99, +196, +110, +196, +24, +51, +242, +20, +0, +216, +68, +127, +151, +133, +116, +110, +29, +171, +206, +247, +160, +201, +67, +72, +159, +67, +172, +160, +135, +35, +175, +217, +52, +181, +182, +53, +138, +121, +69, +131, +107, +88, +12, +91, +0, +88, +204, +67, +38, +227, +57, +192, +158, +148, +196, +246, +115, +232, +109, +214, +224, +171, +16, +133, +156, +197, +69, +148, +164, +254, +102, +20, +190, +172, +37, +253, +104, +27, +76, +181, +84, +112, +116, +120, +15, +141, +151, +243, +228, +199, +171, +3, +17, +164, +70, +13, +218, +161, +227, +245, +255, +214, +231, +218, +151, +157, +167, +83, +172, +58, +223, +131, +70, +190, +172, +54, +208, +231, +126, +145, +239, +171, +77, +106, +109, +187, +2, +186, +140, +26, +115, +104, +167, +141, +197, +176, +5, +64, +217, +68, +190, +20, +207, +177, +170, +175, +159, +72, +210, +137, +221, +201, +183, +56, +7, +148, +244, +117, +216, +95, +214, +40, +65, +81, +29, +126, +85, +110, +205, +109, +223, +67, +227, +229, +60, +185, +123, +121, +155, +15, +76, +41, +66, +121, +89, +134, +199, +2, +219, +162, +199, +103, +202, +227, +120, +36, +20, +180, +205, +246, +251, +27, +79, +187, +78, +78, +35, +101, +15, +26, +209, +7, +44, +66, +190, +190, +47, +109, +116, +51, +229, +215, +106, +155, +90, +251, +185, +228, +89, +102, +108, +222, +185, +186, +120, +122, +22, +163, +182, +5, +96, +112, +34, +127, +183, +73, +63, +117, +76, +0, +220, +212, +240, +30, +250, +248, +178, +182, +254, +208, +208, +206, +173, +185, +109, +63, +27, +47, +231, +201, +87, +77, +219, +54, +104, +99, +97, +5, +126, +55, +7, +33, +135, +225, +28, +242, +227, +192, +69, +78, +249, +36, +60, +103, +243, +116, +116, +26, +169, +121, +208, +54, +118, +253, +77, +68, +8, +132, +64, +135, +212, +218, +200, +151, +237, +235, +140, +60, +33, +249, +95, +217, +75, +115, +104, +70, +93, +7, +64, +197, +68, +174, +105, +183, +187, +29, +19, +13, +239, +161, +143, +47, +107, +219, +96, +170, +93, +221, +154, +155, +246, +179, +241, +114, +30, +177, +244, +132, +6, +89, +172, +171, +222, +91, +43, +32, +190, +241, +127, +67, +150, +222, +118, +73, +50, +13, +56, +29, +217, +67, +150, +37, +88, +28, +147, +78, +35, +125, +1, +9, +172, +241, +254, +194, +160, +218, +217, +67, +215, +234, +5, +117, +24, +120, +165, +215, +163, +98, +34, +215, +180, +219, +77, +235, +158, +40, +233, +235, +48, +191, +172, +109, +131, +169, +182, +21, +28, +109, +251, +217, +102, +57, +127, +176, +182, +57, +191, +65, +155, +210, +247, +22, +5, +202, +252, +248, +0, +186, +49, +233, +52, +210, +55, +244, +30, +109, +16, +200, +41, +158, +250, +126, +95, +80, +131, +235, +81, +49, +145, +107, +218, +157, +160, +117, +255, +242, +212, +13, +251, +203, +218, +54, +152, +106, +91, +193, +81, +213, +207, +23, +87, +180, +107, +179, +156, +95, +151, +60, +143, +193, +33, +56, +241, +26, +145, +20, +110, +187, +86, +244, +111, +212, +5, +192, +208, +156, +70, +186, +160, +237, +192, +171, +225, +249, +82, +109, +214, +232, +203, +218, +7, +170, +174, +71, +245, +68, +30, +104, +135, +56, +84, +125, +158, +92, +119, +240, +78, +79, +187, +62, +190, +172, +85, +19, +171, +109, +48, +213, +182, +130, +195, +222, +187, +47, +252, +247, +59, +42, +218, +53, +94, +206, +107, +187, +247, +145, +219, +220, +204, +67, +156, +192, +102, +233, +239, +255, +120, +232, +75, +223, +119, +20, +40, +243, +227, +3, +105, +135, +226, +52, +210, +5, +53, +3, +175, +106, +192, +110, +128, +132, +151, +222, +160, +80, +254, +52, +114, +39, +150, +43, +43, +174, +55, +106, +2, +128, +176, +137, +108, +97, +149, +73, +215, +49, +50, +6, +196, +129, +37, +215, +107, +251, +101, +109, +59, +177, +218, +6, +83, +109, +43, +56, +172, +137, +173, +47, +252, +247, +209, +21, +237, +26, +47, +231, +157, +182, +155, +35, +185, +13, +239, +65, +182, +18, +51, +144, +147, +167, +15, +121, +104, +7, +222, +247, +98, +5, +106, +34, +215, +208, +208, +17, +194, +121, +96, +93, +194, +78, +63, +128, +104, +121, +175, +36, +15, +213, +52, +11, +216, +186, +226, +122, +195, +22, +0, +77, +39, +114, +17, +179, +144, +19, +143, +147, +80, +159, +251, +146, +118, +109, +191, +172, +173, +38, +150, +214, +55, +254, +208, +208, +94, +112, +216, +163, +204, +98, +248, +239, +247, +144, +239, +243, +125, +237, +26, +47, +231, +219, +192, +243, +222, +6, +16, +227, +58, +189, +130, +134, +185, +231, +11, +109, +27, +57, +66, +56, +207, +165, +75, +216, +233, +71, +145, +175, +198, +227, +136, +31, +192, +49, +192, +38, +53, +215, +27, +182, +0, +176, +8, +157, +200, +173, +250, +73, +251, +47, +107, +171, +137, +213, +5, +180, +19, +28, +175, +113, +238, +195, +134, +255, +182, +17, +160, +190, +133, +90, +250, +149, +92, +175, +209, +114, +190, +229, +61, +89, +196, +57, +6, +28, +13, +208, +49, +247, +60, +13, +28, +33, +156, +7, +54, +148, +164, +142, +109, +39, +214, +176, +175, +215, +161, +93, +219, +47, +107, +235, +137, +53, +108, +0, +111, +64, +220, +227, +167, +105, +191, +174, +65, +183, +60, +168, +0, +172, +104, +27, +188, +156, +111, +217, +183, +161, +142, +175, +94, +64, +156, +220, +243, +65, +142, +16, +73, +0, +196, +109, +167, +109, +219, +230, +55, +104, +61, +177, +198, +27, +144, +128, +172, +179, +233, +47, +65, +73, +52, +59, +128, +149, +129, +207, +34, +182, +223, +143, +35, +75, +151, +59, +145, +163, +174, +210, +188, +238, +5, +30, +63, +69, +246, +63, +191, +8, +164, +239, +148, +123, +190, +9, +70, +81, +0, +148, +46, +209, +208, +8, +202, +145, +175, +55, +52, +1, +144, +80, +15, +196, +106, +116, +145, +10, +188, +82, +33, +64, +190, +69, +216, +190, +170, +204, +169, +139, +46, +0, +174, +115, +152, +62, +142, +132, +8, +179, +150, +128, +15, +17, +96, +3, +79, +238, +241, +52, +51, +74, +167, +34, +162, +70, +0, +148, +30, +63, +69, +184, +94, +21, +62, +223, +195, +245, +146, +0, +24, +67, +0, +222, +77, +158, +133, +250, +218, +10, +186, +187, +138, +239, +193, +87, +230, +212, +69, +23, +0, +123, +0, +63, +193, +201, +59, +142, +36, +147, +188, +64, +47, +116, +106, +0, +143, +35, +145, +229, +78, +200, +254, +29, +90, +68, +191, +173, +153, +200, +85, +202, +188, +86, +199, +79, +139, +59, +22, +87, +1, +64, +131, +64, +163, +67, +234, +207, +165, +148, +88, +84, +106, +189, +61, +213, +90, +167, +170, +204, +169, +27, +206, +123, +3, +94, +168, +23, +122, +44, +50, +95, +104, +17, +253, +182, +131, +0, +104, +125, +252, +180, +56, +99, +49, +22, +0, +149, +129, +70, +145, +232, +87, +7, +33, +39, +37, +115, +144, +237, +238, +161, +212, +132, +190, +111, +216, +135, +157, +145, +21, +192, +1, +122, +141, +210, +108, +201, +72, +252, +5, +112, +76, +238, +125, +101, +78, +221, +208, +4, +192, +202, +118, +178, +70, +230, +107, +209, +40, +250, +109, +7, +1, +48, +244, +227, +167, +197, +25, +250, +184, +46, +215, +255, +175, +173, +19, +238, +110, +68, +195, +127, +123, +69, +187, +224, +88, +12, +200, +10, +244, +100, +100, +85, +248, +36, +240, +59, +2, +130, +196, +16, +16, +104, +84, +199, +195, +34, +36, +120, +201, +151, +201, +147, +167, +252, +182, +142, +127, +40, +144, +143, +217, +124, +228, +68, +228, +103, +84, +56, +180, +33, +39, +6, +211, +234, +202, +156, +58, +139, +126, +143, +1, +17, +141, +45, +212, +36, +208, +68, +206, +203, +33, +48, +96, +165, +115, +3, +141, +162, +223, +118, +16, +0, +227, +230, +248, +105, +60, +64, +159, +219, +61, +72, +26, +180, +41, +250, +123, +33, +162, +60, +190, +180, +164, +77, +112, +44, +6, +157, +252, +54, +83, +213, +249, +72, +128, +218, +121, +200, +74, +174, +82, +8, +16, +16, +104, +20, +73, +152, +242, +170, +66, +217, +121, +68, +254, +208, +133, +2, +241, +124, +189, +163, +174, +204, +169, +171, +69, +140, +78, +173, +64, +238, +240, +241, +165, +26, +218, +87, +148, +77, +218, +154, +27, +104, +20, +253, +214, +105, +215, +38, +160, +68, +47, +199, +79, +180, +76, +87, +165, +180, +65, +95, +68, +242, +56, +141, +62, +188, +172, +77, +191, +187, +64, +175, +59, +31, +17, +164, +255, +3, +222, +132, +38, +74, +197, +241, +11, +112, +232, +27, +197, +98, +64, +143, +17, +113, +50, +60, +35, +66, +124, +62, +112, +82, +79, +247, +116, +61, +48, +169, +15, +222, +227, +14, +72, +162, +208, +203, +245, +37, +92, +74, +69, +22, +92, +196, +2, +236, +159, +74, +91, +155, +161, +69, +219, +88, +180, +141, +126, +59, +148, +227, +188, +16, +208, +62, +93, +85, +163, +232, +68, +72, +172, +185, +67, +157, +103, +240, +123, +224, +67, +68, +136, +149, +208, +20, +78, +31, +30, +194, +217, +82, +85, +208, +55, +138, +197, +160, +207, +99, +96, +43, +1, +252, +133, +10, +101, +90, +91, +32, +62, +19, +139, +128, +157, +98, +243, +30, +119, +64, +210, +45, +93, +175, +47, +248, +106, +52, +174, +89, +5, +189, +85, +162, +205, +2, +158, +31, +120, +141, +86, +19, +121, +140, +10, +128, +198, +233, +170, +104, +25, +157, +72, +219, +90, +84, +42, +128, +60, +253, +170, +92, +153, +208, +192, +191, +194, +233, +195, +103, +171, +232, +218, +66, +251, +112, +139, +167, +252, +12, +60, +251, +98, +58, +172, +144, +144, +192, +174, +243, +129, +61, +99, +222, +195, +184, +5, +18, +204, +16, +224, +6, +106, +164, +59, +146, +4, +19, +100, +73, +61, +96, +176, +80, +209, +174, +15, +1, +16, +253, +60, +191, +47, +208, +45, +58, +81, +168, +0, +104, +180, +50, +161, +129, +127, +133, +211, +135, +94, +146, +175, +146, +7, +134, +117, +21, +196, +47, +71, +156, +144, +188, +71, +210, +180, +88, +33, +1, +223, +70, +20, +140, +111, +9, +236, +215, +146, +218, +230, +38, +196, +232, +237, +33, +42, +182, +122, +228, +130, +125, +131, +50, +154, +49, +7, +242, +176, +87, +219, +212, +208, +109, +133, +44, +155, +230, +1, +219, +53, +188, +70, +91, +1, +48, +225, +207, +243, +27, +8, +128, +54, +43, +147, +32, +255, +138, +170, +247, +87, +66, +223, +232, +11, +13, +172, +135, +248, +22, +44, +2, +206, +5, +206, +68, +4, +218, +163, +192, +179, +107, +174, +85, +251, +124, +116, +34, +255, +82, +39, +114, +208, +170, +85, +219, +125, +67, +121, +47, +66, +244, +70, +183, +0, +191, +175, +160, +183, +31, +211, +198, +201, +68, +201, +243, +100, +222, +83, +65, +211, +40, +194, +117, +232, +133, +237, +36, +27, +80, +230, +20, +232, +78, +87, +186, +111, +182, +184, +70, +233, +0, +98, +140, +156, +231, +59, +125, +44, +53, +89, +174, +24, +212, +79, +33, +70, +95, +74, +174, +217, +203, +25, +48, +1, +254, +21, +85, +239, +175, +162, +77, +163, +47, +52, +34, +4, +78, +35, +215, +145, +156, +74, +128, +89, +122, +200, +243, +65, +182, +18, +51, +129, +111, +34, +251, +127, +247, +95, +105, +106, +58, +242, +120, +153, +95, +112, +202, +202, +66, +174, +175, +134, +156, +70, +52, +122, +78, +78, +251, +255, +105, +91, +111, +162, +91, +90, +68, +184, +142, +10, +231, +230, +26, +101, +12, +210, +182, +165, +3, +136, +49, +114, +158, +239, +244, +177, +106, +9, +105, +17, +124, +30, +75, +0, +2, +251, +53, +106, +198, +59, +85, +239, +175, +65, +219, +190, +4, +88, +45, +255, +154, +199, +255, +137, +138, +118, +214, +205, +183, +46, +148, +252, +81, +228, +113, +1, +138, +152, +26, +112, +15, +171, +146, +155, +226, +15, +196, +23, +164, +131, +14, +201, +69, +87, +103, +28, +59, +1, +163, +90, +9, +214, +224, +96, +99, +204, +91, +141, +49, +47, +55, +198, +220, +13, +220, +108, +140, +89, +195, +24, +179, +158, +49, +230, +219, +198, +152, +47, +27, +99, +158, +214, +150, +57, +34, +205, +247, +51, +198, +236, +229, +20, +79, +7, +238, +50, +198, +252, +57, +203, +178, +50, +251, +253, +221, +179, +44, +187, +174, +225, +229, +174, +51, +198, +244, +226, +55, +161, +247, +49, +191, +164, +250, +229, +89, +150, +85, +234, +25, +22, +119, +100, +89, +214, +56, +225, +12, +146, +164, +198, +158, +134, +205, +171, +33, +127, +194, +24, +115, +184, +49, +102, +127, +253, +253, +75, +45, +51, +198, +152, +233, +1, +151, +219, +198, +24, +147, +25, +99, +174, +206, +178, +204, +103, +202, +252, +87, +173, +223, +42, +203, +178, +73, +218, +191, +173, +141, +49, +167, +107, +93, +187, +163, +97, +100, +95, +52, +27, +56, +60, +128, +246, +30, +149, +80, +3, +38, +187, +1, +109, +75, +191, +32, +140, +210, +121, +190, +182, +63, +217, +233, +219, +44, +196, +168, +228, +94, +253, +253, +231, +138, +251, +8, +254, +154, +181, +105, +211, +166, +61, +13, +150, +220, +52, +223, +163, +151, +190, +191, +88, +253, +111, +139, +62, +248, +35, +123, +255, +219, +125, +15, +39, +176, +47, +141, +158, +19, +98, +57, +8, +145, +34, +8, +53, +185, +176, +117, +65, +172, +61, +107, +69, +156, +127, +64, +38, +224, +250, +78, +249, +166, +136, +107, +240, +238, +189, +118, +54, +50, +144, +100, +36, +22, +135, +224, +164, +196, +2, +214, +199, +227, +206, +217, +102, +176, +117, +29, +160, +77, +219, +135, +210, +211, +76, +96, +180, +26, +216, +109, +250, +63, +22, +248, +3, +63, +208, +127, +22, +71, +217, +178, +192, +190, +52, +21, +0, +183, +234, +191, +202, +208, +120, +209, +65, +179, +21, +192, +218, +136, +253, +183, +197, +253, +228, +81, +97, +64, +189, +253, +198, +11, +200, +163, +231, +94, +220, +160, +77, +227, +193, +214, +117, +128, +54, +109, +223, +7, +253, +48, +5, +0, +13, +61, +251, +186, +62, +223, +64, +222, +161, +167, +31, +173, +159, +83, +95, +125, +114, +177, +68, +177, +32, +203, +178, +189, +179, +44, +123, +122, +150, +101, +159, +169, +107, +156, +101, +217, +84, +35, +123, +141, +195, +141, +49, +83, +140, +236, +197, +151, +48, +198, +92, +108, +140, +249, +156, +49, +102, +219, +166, +29, +26, +101, +88, +101, +75, +173, +9, +239, +68, +71, +150, +227, +182, +33, +92, +238, +0, +99, +204, +242, +198, +152, +169, +198, +152, +104, +65, +84, +18, +186, +43, +1, +77, +150, +101, +15, +25, +99, +62, +171, +255, +198, +59, +236, +17, +211, +141, +45, +218, +94, +75, +201, +118, +176, +141, +194, +41, +65, +128, +216, +34, +124, +220, +136, +2, +109, +199, +44, +203, +238, +26, +229, +46, +45, +86, +24, +90, +72, +174, +50, +32, +249, +6, +239, +48, +34, +225, +175, +204, +178, +204, +119, +228, +81, +171, +212, +43, +78, +178, +54, +109, +140, +49, +118, +207, +239, +77, +131, +94, +131, +54, +26, +253, +36, +52, +234, +241, +27, +99, +204, +195, +198, +152, +183, +182, +56, +101, +73, +168, +193, +168, +11, +0, +211, +108, +121, +215, +102, +146, +53, +105, +51, +199, +136, +16, +88, +174, +142, +208, +131, +49, +117, +12, +184, +184, +32, +203, +178, +168, +193, +52, +19, +2, +129, +132, +8, +251, +15, +240, +120, +143, +215, +168, +13, +220, +160, +116, +67, +81, +180, +33, +102, +179, +0, +123, +213, +83, +15, +183, +111, +218, +238, +29, +12, +106, +233, +63, +136, +115, +90, +17, +227, +122, +125, +42, +209, +198, +59, +255, +166, +10, +55, +52, +206, +4, +145, +82, +220, +199, +232, +147, +139, +1, +37, +160, +50, +220, +223, +24, +243, +43, +99, +204, +43, +141, +49, +247, +55, +232, +64, +211, +7, +110, +151, +119, +219, +141, +145, +229, +221, +213, +250, +119, +151, +74, +170, +81, +0, +98, +216, +115, +134, +49, +230, +11, +78, +241, +251, +141, +49, +39, +25, +99, +134, +103, +254, +153, +208, +20, +183, +234, +223, +49, +55, +166, +140, +41, +17, +0, +198, +152, +125, +245, +239, +39, +178, +44, +123, +97, +9, +77, +103, +100, +89, +182, +105, +150, +101, +107, +103, +89, +118, +117, +61, +245, +80, +96, +195, +65, +189, +17, +248, +46, +35, +227, +179, +173, +5, +188, +125, +148, +250, +101, +178, +44, +91, +144, +149, +99, +66, +91, +245, +89, +216, +21, +146, +83, +180, +127, +200, +10, +169, +103, +28, +235, +244, +229, +102, +196, +132, +189, +214, +20, +120, +84, +225, +124, +209, +155, +250, +246, +143, +153, +37, +93, +219, +62, +145, +59, +56, +129, +156, +61, +223, +64, +30, +154, +42, +74, +150, +214, +190, +159, +87, +215, +235, +141, +197, +247, +25, +192, +115, +40, +17, +147, +28, +158, +161, +91, +128, +12, +216, +95, +199, +209, +108, +196, +122, +213, +27, +50, +109, +88, +125, +114, +81, +167, +4, +12, +138, +239, +215, +4, +208, +74, +59, +63, +76, +236, +98, +140, +249, +146, +49, +102, +79, +99, +204, +250, +198, +24, +171, +132, +186, +195, +24, +83, +26, +213, +53, +161, +30, +192, +59, +140, +49, +110, +34, +213, +253, +129, +179, +140, +49, +167, +103, +89, +214, +41, +22, +95, +150, +101, +11, +140, +216, +198, +143, +41, +100, +89, +134, +17, +255, +149, +131, +71, +187, +47, +62, +140, +230, +41, +192, +176, +142, +205, +26, +181, +201, +178, +108, +190, +49, +230, +123, +198, +152, +239, +57, +194, +106, +165, +44, +203, +234, +28, +56, +142, +163, +36, +33, +74, +150, +101, +91, +213, +180, +93, +236, +65, +174, +195, +112, +241, +126, +253, +247, +114, +99, +76, +218, +198, +140, +2, +70, +83, +0, +12, +235, +216, +44, +198, +81, +91, +101, +108, +63, +69, +155, +229, +236, +132, +17, +26, +99, +245, +11, +221, +20, +139, +155, +125, +198, +128, +0, +96, +100, +18, +133, +97, +186, +249, +134, +160, +141, +208, +104, +211, +198, +24, +19, +246, +178, +59, +14, +136, +94, +117, +0, +125, +46, +185, +19, +22, +51, +0, +203, +3, +47, +3, +254, +165, +10, +133, +191, +53, +104, +27, +172, +212, +25, +150, +210, +172, +111, +69, +214, +88, +71, +27, +165, +24, +45, +237, +12, +198, +2, +144, +0, +26, +199, +106, +191, +79, +243, +212, +15, +96, +52, +250, +233, +244, +103, +105, +228, +68, +224, +78, +26, +4, +240, +232, +179, +67, +22, +55, +2, +95, +1, +130, +131, +106, +36, +1, +48, +254, +209, +70, +96, +140, +21, +0, +239, +69, +162, +83, +221, +133, +68, +225, +169, +18, +0, +87, +17, +51, +115, +78, +75, +0, +27, +58, +125, +26, +181, +227, +101, +215, +14, +224, +127, +70, +246, +202, +235, +25, +99, +94, +104, +196, +60, +55, +97, +130, +160, +15, +59, +3, +224, +37, +200, +209, +151, +215, +156, +151, +6, +97, +200, +107, +176, +185, +49, +230, +95, +198, +152, +16, +107, +187, +247, +103, +89, +182, +149, +79, +199, +226, +147, +124, +109, +251, +76, +189, +11, +243, +221, +198, +152, +43, +141, +49, +119, +26, +99, +46, +15, +232, +119, +255, +0, +86, +68, +242, +145, +1, +252, +179, +65, +187, +224, +175, +109, +197, +87, +166, +234, +161, +7, +243, +239, +210, +70, +219, +5, +199, +210, +71, +76, +152, +255, +3, +236, +209, +228, +26, +19, +5, +192, +31, +144, +184, +118, +231, +251, +132, +0, +13, +194, +144, +55, +184, +38, +84, +175, +0, +74, +207, +202, +201, +227, +56, +218, +73, +238, +27, +139, +65, +125, +166, +38, +57, +233, +152, +5, +176, +142, +243, +176, +86, +10, +108, +19, +60, +217, +28, +218, +54, +65, +52, +135, +33, +0, +130, +99, +233, +147, +39, +79, +1, +248, +98, +13, +223, +37, +144, +40, +67, +143, +35, +65, +83, +14, +68, +98, +204, +21, +233, +62, +15, +92, +134, +132, +230, +126, +20, +248, +59, +240, +188, +38, +247, +48, +86, +128, +100, +198, +61, +205, +190, +239, +18, +154, +160, +48, +228, +13, +174, +9, +45, +5, +128, +67, +91, +23, +146, +174, +178, +207, +4, +250, +184, +116, +5, +18, +54, +124, +54, +240, +75, +79, +221, +47, +144, +237, +208, +79, +219, +48, +182, +216, +176, +33, +125, +223, +58, +128, +94, +133, +134, +182, +107, +20, +75, +31, +201, +42, +3, +240, +64, +13, +223, +47, +34, +81, +139, +191, +160, +255, +230, +227, +137, +62, +139, +164, +146, +62, +20, +120, +63, +176, +59, +146, +120, +226, +162, +10, +190, +149, +202, +36, +74, +80, +255, +36, +226, +1, +73, +45, +87, +26, +98, +142, +128, +48, +228, +13, +174, +5, +61, +11, +128, +186, +62, +19, +144, +156, +180, +105, +159, +74, +218, +219, +240, +125, +3, +238, +235, +78, +221, +147, +109, +24, +55, +234, +88, +147, +201, +214, +132, +214, +211, +166, +20, +49, +174, +211, +6, +192, +243, +235, +6, +139, +210, +93, +11, +252, +213, +249, +253, +87, +60, +166, +197, +158, +118, +135, +81, +145, +177, +150, +26, +101, +18, +178, +162, +25, +248, +231, +161, +179, +193, +80, +127, +94, +211, +159, +208, +231, +191, +51, +178, +2, +56, +64, +175, +57, +20, +43, +74, +237, +78, +239, +2, +32, +6, +154, +244, +169, +164, +253, +145, +200, +10, +224, +23, +158, +58, +187, +58, +56, +178, +247, +142, +53, +153, +108, +195, +154, +152, +195, +66, +232, +96, +65, +210, +79, +29, +230, +252, +62, +12, +24, +176, +179, +64, +146, +178, +254, +12, +177, +29, +159, +129, +198, +134, +175, +224, +107, +87, +0, +141, +226, +193, +123, +248, +172, +6, +220, +167, +183, +242, +158, +10, +186, +80, +129, +50, +3, +89, +229, +76, +209, +251, +25, +138, +82, +121, +34, +9, +128, +24, +24, +11, +1, +65, +38, +10, +22, +153, +145, +150, +112, +101, +158, +152, +191, +49, +18, +19, +254, +48, +99, +204, +100, +99, +204, +206, +250, +207, +11, +53, +93, +30, +136, +162, +212, +20, +89, +150, +61, +134, +164, +150, +250, +147, +49, +230, +112, +224, +239, +89, +150, +13, +88, +41, +102, +89, +22, +116, +60, +156, +101, +217, +10, +93, +251, +52, +150, +225, +8, +135, +141, +139, +113, +17, +171, +234, +198, +26, +202, +6, +161, +117, +2, +170, +76, +13, +150, +208, +8, +183, +24, +99, +54, +113, +126, +63, +207, +228, +190, +226, +46, +182, +54, +198, +28, +159, +101, +217, +215, +178, +44, +251, +189, +49, +102, +152, +97, +161, +207, +48, +198, +220, +100, +140, +89, +219, +24, +19, +39, +207, +92, +194, +168, +0, +248, +152, +174, +46, +94, +92, +69, +87, +38, +0, +172, +212, +122, +83, +192, +133, +92, +30, +115, +3, +251, +183, +56, +225, +169, +136, +73, +192, +186, +21, +116, +71, +27, +99, +182, +3, +246, +3, +246, +51, +198, +108, +103, +114, +95, +113, +23, +119, +24, +99, +182, +69, +148, +128, +223, +51, +198, +188, +173, +174, +3, +177, +150, +146, +234, +185, +102, +253, +233, +247, +41, +188, +219, +113, +1, +181, +91, +40, +221, +194, +76, +32, +172, +84, +248, +27, +14, +196, +178, +202, +226, +250, +26, +218, +245, +148, +110, +33, +1, +199, +134, +14, +223, +96, +141, +126, +0, +207, +159, +43, +207, +63, +4, +208, +238, +66, +158, +179, +109, +149, +166, +215, +42, +225, +121, +182, +242, +59, +23, +209, +14, +15, +152, +206, +34, +126, +225, +223, +36, +63, +6, +252, +14, +254, +99, +192, +215, +144, +251, +142, +159, +13, +236, +90, +183, +23, +141, +185, +151, +68, +108, +65, +108, +142, +197, +215, +117, +229, +55, +86, +208, +228, +25, +17, +118, +10, +80, +202, +47, +244, +90, +49, +223, +155, +135, +247, +55, +149, +119, +80, +218, +115, +31, +131, +119, +2, +23, +227, +81, +84, +57, +52, +75, +3, +39, +233, +133, +74, +143, +170, +10, +109, +106, +209, +176, +159, +59, +107, +179, +251, +129, +213, +43, +232, +50, +68, +35, +237, +34, +150, +0, +120, +58, +98, +62, +125, +99, +155, +123, +136, +112, +253, +168, +3, +9, +248, +183, +242, +59, +48, +6, +191, +177, +128, +38, +207, +136, +197, +67, +0, +28, +162, +188, +223, +87, +69, +87, +170, +4, +204, +178, +236, +12, +51, +232, +191, +109, +153, +223, +103, +140, +185, +215, +136, +217, +240, +218, +70, +162, +233, +238, +23, +210, +177, +152, +238, +148, +72, +250, +114, +155, +193, +232, +179, +89, +150, +61, +90, +66, +183, +188, +145, +96, +30, +239, +50, +18, +247, +111, +99, +211, +102, +105, +84, +142, +21, +140, +49, +47, +50, +242, +60, +102, +26, +89, +198, +143, +103, +156, +103, +140, +121, +181, +49, +166, +242, +28, +59, +97, +76, +35, +104, +11, +208, +118, +143, +55, +199, +136, +221, +245, +211, +140, +49, +103, +25, +99, +94, +155, +249, +51, +152, +246, +141, +221, +141, +49, +207, +52, +198, +220, +108, +140, +249, +99, +5, +221, +95, +140, +76, +254, +11, +141, +236, +189, +99, +251, +116, +159, +98, +140, +249, +128, +17, +13, +250, +218, +89, +150, +85, +42, +94, +198, +1, +172, +0, +171, +210, +105, +36, +140, +50, +144, +179, +126, +128, +123, +60, +213, +43, +234, +223, +74, +1, +208, +234, +24, +48, +203, +178, +32, +11, +193, +62, +129, +36, +77, +180, +230, +183, +135, +168, +2, +171, +12, +63, +54, +198, +220, +99, +140, +249, +120, +150, +101, +243, +104, +224, +233, +24, +208, +143, +149, +141, +49, +175, +215, +159, +95, +201, +178, +172, +77, +82, +145, +177, +134, +135, +244, +239, +26, +163, +218, +139, +132, +58, +188, +74, +255, +254, +213, +83, +103, +39, +254, +138, +158, +186, +167, +48, +158, +237, +0, +94, +105, +140, +217, +192, +200, +145, +165, +215, +76, +215, +34, +203, +178, +179, +140, +172, +84, +44, +150, +46, +163, +109, +129, +167, +38, +73, +150, +101, +247, +70, +228, +59, +154, +120, +68, +255, +174, +54, +170, +189, +72, +40, +5, +176, +170, +17, +175, +93, +99, +140, +249, +181, +135, +164, +217, +22, +0, +152, +171, +203, +137, +168, +174, +137, +52, +243, +174, +219, +20, +201, +208, +123, +175, +246, +103, +10, +146, +173, +216, +103, +225, +182, +173, +254, +189, +34, +32, +94, +95, +159, +88, +172, +66, +68, +41, +150, +209, +191, +211, +70, +181, +23, +9, +85, +216, +198, +200, +216, +187, +186, +100, +251, +221, +120, +11, +48, +221, +24, +179, +186, +137, +255, +210, +223, +102, +140, +89, +214, +136, +146, +236, +82, +35, +82, +235, +185, +70, +246, +238, +69, +28, +98, +196, +16, +230, +116, +35, +6, +41, +27, +26, +73, +12, +185, +145, +49, +230, +141, +5, +218, +109, +244, +239, +121, +145, +251, +155, +144, +191, +155, +135, +71, +181, +23, +139, +57, +58, +42, +196, +223, +160, +127, +15, +45, +169, +111, +188, +5, +152, +102, +74, +4, +0, +226, +110, +248, +97, +99, +204, +113, +89, +150, +237, +19, +90, +167, +56, +203, +72, +236, +187, +201, +250, +123, +178, +145, +32, +8, +87, +122, +104, +63, +100, +228, +185, +60, +117, +244, +8, +60, +215, +248, +77, +93, +173, +143, +245, +120, +215, +184, +143, +69, +88, +247, +227, +74, +15, +199, +113, +138, +147, +81, +223, +133, +113, +30, +120, +117, +71, +35, +6, +123, +167, +150, +212, +55, +51, +4, +2, +174, +211, +45, +192, +241, +158, +186, +16, +183, +195, +168, +202, +47, +224, +105, +192, +235, +17, +191, +235, +223, +122, +234, +109, +178, +142, +183, +182, +224, +109, +209, +217, +14, +0, +216, +76, +121, +205, +235, +202, +171, +67, +31, +162, +158, +39, +3, +103, +41, +191, +178, +175, +203, +184, +3, +30, +84, +208, +14, +197, +14, +160, +79, +56, +91, +250, +202, +36, +36, +197, +45, +128, +49, +254, +45, +192, +137, +70, +190, +242, +191, +241, +212, +157, +96, +140, +249, +168, +254, +141, +130, +194, +131, +63, +215, +24, +227, +139, +184, +99, +39, +175, +247, +236, +127, +136, +216, +65, +255, +250, +236, +250, +199, +29, +144, +19, +146, +109, +245, +231, +57, +163, +216, +149, +168, +8, +89, +110, +147, +91, +161, +214, +158, +18, +85, +241, +27, +11, +161, +195, +179, +44, +91, +182, +158, +202, +1, +226, +159, +14, +61, +89, +127, +53, +145, +138, +192, +14, +136, +133, +223, +17, +218, +230, +32, +15, +205, +227, +90, +183, +181, +143, +71, +96, +95, +58, +173, +0, +16, +147, +93, +139, +82, +143, +189, +190, +17, +243, +139, +131, +248, +32, +128, +132, +189, +90, +166, +190, +197, +226, +131, +38, +171, +132, +197, +14, +72, +8, +104, +144, +204, +192, +125, +240, +111, +53, +72, +129, +11, +241, +68, +147, +1, +110, +85, +126, +141, +179, +174, +70, +20, +0, +143, +33, +230, +210, +239, +236, +194, +167, +43, +34, +11, +128, +75, +149, +215, +119, +99, +244, +45, +97, +108, +35, +116, +11, +48, +20, +0, +171, +100, +89, +246, +132, +243, +123, +73, +99, +204, +51, +140, +63, +71, +225, +253, +70, +78, +7, +188, +17, +103, +135, +129, +44, +203, +22, +171, +115, +114, +196, +113, +228, +53, +70, +18, +194, +44, +54, +251, +255, +132, +114, +184, +166, +192, +211, +10, +127, +71, +3, +83, +129, +51, +144, +212, +220, +95, +55, +198, +92, +96, +100, +130, +255, +202, +67, +107, +247, +107, +111, +240, +212, +77, +24, +48, +210, +243, +176, +52, +238, +94, +0, +159, +149, +141, +49, +71, +233, +207, +207, +186, +130, +56, +97, +2, +128, +220, +125, +176, +151, +36, +5, +33, +203, +84, +224, +32, +196, +163, +110, +38, +18, +106, +106, +50, +18, +76, +115, +32, +40, +6, +240, +70, +229, +55, +151, +134, +153, +107, +98, +109, +1, +198, +2, +128, +183, +235, +189, +60, +94, +79, +93, +201, +199, +134, +131, +111, +30, +67, +46, +97, +252, +3, +216, +87, +7, +192, +182, +61, +241, +143, +182, +79, +85, +126, +203, +34, +145, +87, +1, +118, +107, +217, +151, +113, +43, +0, +128, +187, +145, +248, +245, +243, +244, +94, +14, +24, +237, +62, +37, +140, +99, +144, +135, +16, +10, +201, +174, +210, +134, +127, +84, +1, +160, +60, +247, +87, +158, +147, +98, +241, +28, +47, +64, +148, +160, +243, +144, +64, +158, +95, +247, +173, +146, +18, +18, +198, +12, +122, +18, +0, +43, +34, +201, +51, +0, +106, +67, +103, +37, +36, +36, +140, +18, +250, +16, +0, +202, +247, +67, +202, +247, +238, +241, +188, +164, +79, +72, +24, +85, +32, +94, +119, +179, +129, +195, +235, +169, +91, +241, +15, +22, +0, +84, +164, +60, +42, +161, +63, +82, +121, +255, +174, +123, +79, +19, +18, +38, +32, +200, +109, +250, +123, +57, +254, +105, +40, +0, +122, +241, +47, +72, +72, +72, +24, +9, +215, +14, +224, +68, +35, +161, +190, +134, +146, +194, +169, +6, +39, +24, +233, +75, +52, +255, +130, +132, +132, +132, +81, +68, +95, +58, +128, +132, +132, +132, +132, +132, +132, +132, +137, +0, +93, +69, +148, +165, +3, +111, +156, +84, +36, +33, +97, +34, +99, +220, +165, +126, +74, +72, +72, +136, +135, +36, +0, +18, +18, +38, +48, +122, +21, +0, +85, +138, +63, +231, +168, +111, +251, +62, +251, +144, +144, +144, +80, +142, +209, +92, +1, +60, +92, +248, +155, +144, +144, +48, +100, +140, +5, +1, +240, +72, +177, +194, +177, +74, +60, +98, +200, +125, +74, +72, +152, +80, +24, +77, +1, +96, +39, +190, +111, +5, +176, +155, +145, +192, +140, +31, +30, +94, +119, +18, +18, +38, +30, +70, +123, +5, +48, +61, +203, +178, +185, +158, +58, +107, +149, +232, +139, +66, +156, +144, +144, +16, +9, +163, +153, +27, +240, +97, +227, +89, +254, +27, +99, +76, +150, +101, +123, +27, +99, +246, +30, +110, +119, +18, +18, +18, +162, +98, +152, +230, +191, +201, +16, +40, +33, +161, +57, +146, +29, +64, +66, +194, +4, +70, +18, +0, +9, +9, +19, +24, +73, +0, +36, +36, +76, +96, +36, +1, +144, +144, +48, +129, +145, +4, +64, +66, +194, +4, +198, +184, +19, +0, +73, +219, +159, +144, +16, +15, +227, +78, +0, +36, +36, +36, +196, +67, +18, +0, +9, +9, +19, +24, +73, +0, +36, +36, +76, +96, +36, +1, +144, +144, +48, +117, +14, +169, +49, +0, +0, +2, +74, +73, +68, +65, +84, +129, +145, +4, +64, +66, +194, +4, +70, +175, +206, +64, +89, +150, +101, +125, +242, +79, +72, +72, +232, +134, +180, +2, +72, +72, +152, +192, +72, +2, +32, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +33, +225, +255, +219, +131, +3, +2, +0, +0, +0, +0, +33, +253, +95, +221, +17, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +208, +17, +112, +180, +144, +16, +164, +2, +78, +0, +0, +0, +0, +73, +69, +78, +68, +174, +66, +96, +130, +}; diff --git a/scene/resources/default_theme/font_large.inc b/scene/resources/default_theme/font_large.inc deleted file mode 100644 index e44d60d736..0000000000 --- a/scene/resources/default_theme/font_large.inc +++ /dev/null @@ -1,65741 +0,0 @@ -static const int _builtin_large_font_height=16; -static const int _builtin_large_font_ascent=13; -static const int _builtin_large_font_charcount=191; -static const int _builtin_large_font_charrects[191][8]={ -/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ -{224,122,104,8,11,2,0,8}, -{192,173,2,10,14,-1,0,10}, -{64,38,17,13,13,3,0,13}, -{96,138,131,4,2,2,0,5}, -{160,0,0,0,0,13,0,4}, -{32,0,0,0,0,13,0,4}, -{33,8,126,2,11,2,1,4}, -{225,110,95,8,11,2,0,8}, -{161,251,122,2,11,5,1,4}, -{193,159,2,10,14,-1,0,10}, -{65,72,29,10,11,2,0,10}, -{97,218,79,8,8,5,0,8}, -{98,14,63,8,11,2,0,9}, -{66,26,68,8,11,2,1,10}, -{226,98,95,8,11,2,0,8}, -{194,145,2,10,14,-1,0,10}, -{162,14,78,8,12,3,0,8}, -{34,21,128,5,4,2,0,5}, -{35,158,38,9,11,2,0,9}, -{67,67,47,9,11,2,0,10}, -{163,198,34,9,11,2,0,9}, -{195,2,17,10,15,-2,0,10}, -{227,26,83,8,12,1,0,8}, -{99,230,76,8,8,5,0,8}, -{100,245,47,8,11,2,0,9}, -{68,145,53,9,11,2,1,10}, -{228,86,93,8,11,2,0,8}, -{36,26,99,8,15,0,0,9}, -{196,131,17,10,14,-1,0,10}, -{164,44,34,10,11,3,0,11}, -{37,87,17,11,11,2,0,11}, -{69,2,51,8,11,2,1,9}, -{197,16,29,10,15,-2,0,10}, -{229,38,83,8,12,1,0,8}, -{165,211,34,9,11,2,0,9}, -{101,242,77,8,8,5,0,8}, -{38,201,2,10,11,2,0,10}, -{70,2,66,8,11,2,1,9}, -{198,2,2,15,11,2,-1,14}, -{166,239,114,2,13,2,1,4}, -{102,206,103,6,12,1,0,5}, -{230,55,2,13,8,5,0,13}, -{71,229,17,10,11,2,0,10}, -{103,197,50,8,11,5,0,9}, -{199,80,50,9,15,2,0,10}, -{167,132,53,9,14,2,0,9}, -{231,50,83,8,12,5,0,8}, -{39,193,128,3,4,2,0,3}, -{72,41,53,9,11,2,1,11}, -{104,209,49,8,11,2,0,9}, -{232,74,95,8,11,2,0,8}, -{40,120,134,5,15,1,0,5}, -{200,158,68,8,14,-1,1,9}, -{168,12,112,6,2,2,1,8}, -{73,207,119,3,11,2,1,4}, -{233,62,96,8,11,2,0,8}, -{41,129,134,5,15,1,0,5}, -{201,170,68,8,14,-1,1,9}, -{105,245,122,2,12,1,1,4}, -{169,71,14,12,11,2,0,12}, -{234,50,99,8,11,2,0,8}, -{106,170,128,4,15,1,-1,4}, -{202,182,80,8,14,-1,1,9}, -{42,2,93,7,8,2,0,7}, -{170,216,106,6,6,2,0,7}, -{74,242,62,8,11,2,0,8}, -{171,57,114,7,7,5,0,7}, -{43,230,64,8,8,4,0,8}, -{203,194,80,8,14,-1,1,9}, -{235,38,99,8,11,2,0,8}, -{107,221,49,8,11,2,0,8}, -{75,171,38,9,11,2,1,10}, -{44,200,123,3,4,11,0,3}, -{172,206,80,8,4,7,0,8}, -{204,111,134,5,14,-1,-1,4}, -{236,178,128,4,11,2,-1,4}, -{108,2,123,2,11,2,1,4}, -{76,112,119,7,11,2,1,8}, -{173,39,129,5,2,8,0,5}, -{45,30,128,5,2,8,0,5}, -{109,21,17,13,8,5,0,13}, -{205,93,126,5,14,-1,0,4}, -{237,102,120,5,11,2,0,4}, -{77,87,2,11,11,2,1,13}, -{46,221,122,2,2,11,1,4}, -{110,86,69,8,8,5,0,9}, -{174,55,14,12,11,2,0,12}, -{206,2,105,6,14,-1,0,4}, -{238,186,113,6,11,2,-1,4}, -{78,184,50,9,11,2,1,11}, -{175,35,118,7,2,1,0,7}, -{111,62,68,8,8,5,0,9}, -{47,226,106,6,12,2,0,6}, -{207,246,104,6,14,-1,-1,4}, -{239,176,113,6,11,2,-1,4}, -{79,229,2,10,11,2,0,10}, -{176,12,118,5,4,2,0,6}, -{208,187,17,10,11,2,0,10}, -{240,106,50,9,11,2,0,9}, -{80,28,53,9,11,2,1,10}, -{48,206,65,8,11,2,0,9}, -{112,182,65,8,11,5,0,9}, -{177,98,65,8,10,3,0,8}, -{241,98,79,8,12,1,0,9}, -{81,215,2,10,13,2,0,10}, -{209,54,49,9,15,-2,1,11}, -{113,194,65,8,11,5,0,9}, -{49,75,129,5,11,2,1,9}, -{178,196,113,6,6,2,0,6}, -{114,156,110,6,8,5,0,5}, -{50,170,53,8,11,2,0,9}, -{210,58,29,10,14,-1,0,10}, -{242,170,86,8,11,2,0,9}, -{82,15,48,9,11,2,1,10}, -{179,166,101,6,7,2,0,6}, -{115,14,94,8,8,5,0,8}, -{51,158,53,8,11,2,0,9}, -{211,184,32,10,14,-1,0,10}, -{243,182,98,8,11,2,0,9}, -{83,2,36,9,11,2,0,9}, -{180,48,129,5,2,2,0,5}, -{116,66,129,5,10,3,0,5}, -{52,119,53,9,11,2,0,9}, -{212,170,20,10,14,-1,0,10}, -{244,194,98,8,11,2,0,9}, -{84,224,32,9,11,2,0,9}, -{85,187,2,10,11,2,0,10}, -{213,30,34,10,15,-2,0,10}, -{245,62,80,8,12,1,0,9}, -{117,2,81,8,8,5,0,9}, -{53,110,68,8,11,2,0,9}, -{181,123,119,7,11,5,1,9}, -{86,117,2,10,11,2,0,10}, -{246,206,88,8,11,2,0,9}, -{214,156,20,10,14,-1,0,10}, -{182,134,116,7,11,2,0,8}, -{54,93,50,9,11,2,0,9}, -{118,146,83,8,8,5,0,8}, -{87,21,2,13,11,2,0,13}, -{55,122,71,8,11,2,0,9}, -{247,134,104,8,8,4,0,9}, -{119,102,2,11,8,5,0,11}, -{215,233,47,8,7,4,0,8}, -{183,227,122,2,2,7,1,4}, -{88,243,17,10,11,2,0,10}, -{216,201,17,10,13,1,0,10}, -{56,134,71,8,11,2,0,9}, -{248,74,69,8,10,4,0,9}, -{120,110,83,8,8,5,0,8}, -{184,146,128,4,4,13,0,4}, -{121,218,64,8,11,5,0,8}, -{89,243,2,10,11,2,0,9}, -{249,50,68,8,11,2,0,9}, -{217,142,35,10,14,-1,0,10}, -{57,146,68,8,11,2,0,9}, -{185,186,128,3,6,2,0,4}, -{90,237,32,9,11,2,0,9}, -{250,38,68,8,11,2,0,9}, -{218,128,35,10,14,-1,0,10}, -{58,14,126,2,8,5,1,4}, -{122,86,81,8,8,5,0,8}, -{186,236,104,6,6,2,0,7}, -{123,57,125,5,15,1,0,5}, -{219,114,29,10,14,-1,0,10}, -{91,154,128,4,14,1,0,4}, -{251,218,91,8,11,2,0,9}, -{59,214,119,3,10,5,0,4}, -{187,79,110,7,7,5,0,7}, -{220,100,32,10,14,-1,0,10}, -{124,233,122,2,13,2,1,4}, -{92,90,110,7,12,2,0,6}, -{252,230,88,8,11,2,0,9}, -{188,131,2,10,11,2,1,11}, -{60,145,116,7,8,5,0,8}, -{125,84,126,5,15,1,0,5}, -{221,86,32,10,14,-1,0,9}, -{93,162,122,4,14,1,0,4}, -{253,122,86,8,14,2,0,8}, -{189,102,14,11,11,2,1,12}, -{61,24,118,7,6,5,1,9}, -{222,158,86,8,11,2,1,9}, -{254,68,111,7,14,2,1,9}, -{190,38,2,13,11,2,0,13}, -{62,74,83,8,8,5,0,8}, -{94,101,110,7,6,2,0,6}, -{126,117,17,10,4,7,0,10}, -{223,146,95,8,11,2,1,9}, -{255,134,86,8,14,2,0,8}, -{191,242,89,8,11,5,0,8}, -{63,46,114,7,11,2,0,7}, -{95,13,106,7,2,13,0,7}, -}; -static const int _builtin_large_font_kerning_pair_count=0; -static const int _builtin_large_font_kerning_pairs[1][3]={ -{0,0,0} -}; -static const int _builtin_large_font_img_width=256; -static const int _builtin_large_font_img_height=256; -static const unsigned char _builtin_large_font_img_data[131072]={ -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,36, -0,0, -0,0, -255,58, -255,255, -255,110, -0,0, -0,0, -0,0, -255,239, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,237, -255,244, -255,177, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,181, -255,238, -255,236, -255,175, -255,61, -255,173, -255,236, -255,231, -255,161, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,163, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,255, -255,248, -0,0, -0,0, -0,0, -0,0, -255,153, -255,255, -255,21, -0,0, -255,50, -255,255, -255,93, -0,0, -0,0, -255,232, -255,197, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,37, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,59, -0,0, -0,0, -0,0, -0,0, -255,77, -255,227, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,131, -255,230, -255,241, -255,170, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,74, -0,0, -0,0, -0,0, -255,13, -255,241, -255,231, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,201, -255,203, -255,255, -255,196, -255,112, -255,112, -255,112, -255,112, -255,35, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,84, -0,0, -0,0, -255,119, -255,255, -255,171, -0,0, -0,0, -255,32, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -255,14, -255,164, -255,80, -255,71, -255,255, -255,76, -0,0, -255,1, -255,180, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,231, -255,246, -255,134, -255,133, -255,249, -255,255, -255,238, -255,129, -255,138, -255,248, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,236, -255,241, -255,7, -0,0, -0,0, -0,0, -0,0, -255,217, -255,234, -255,248, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,73, -0,0, -255,118, -255,249, -255,160, -0,0, -255,27, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,96, -255,255, -255,112, -0,0, -0,0, -0,0, -255,2, -255,235, -255,225, -255,1, -0,0, -0,0, -0,0, -0,0, -255,24, -255,150, -255,248, -0,0, -0,0, -255,1, -255,180, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,180, -255,132, -255,250, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,252, -255,182, -0,0, -0,0, -0,0, -255,108, -255,255, -255,109, -0,0, -0,0, -0,0, -26,0, -0,0, -26,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,253, -255,73, -255,255, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,132, -0,0, -0,0, -255,180, -255,213, -255,232, -0,0, -0,0, -255,79, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,201, -255,3, -0,0, -255,100, -255,213, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,108, -255,79, -0,0, -0,0, -255,176, -255,255, -255,98, -0,0, -0,0, -255,158, -255,255, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,204, -255,213, -255,79, -0,0, -0,0, -0,0, -255,48, -255,237, -255,178, -255,248, -0,0, -0,0, -0,0, -0,0, -255,17, -255,253, -255,125, -0,0, -255,186, -255,147, -255,227, -0,0, -255,77, -255,255, -255,58, -0,0, -0,0, -0,0, -0,0, -255,15, -255,248, -255,188, -0,0, -0,0, -0,0, -255,56, -255,255, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -0,0, -255,100, -255,213, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,255, -255,25, -0,0, -255,194, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,254, -255,37, -0,0, -255,1, -255,216, -255,226, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,223, -255,168, -255,25, -255,255, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,231, -255,180, -0,0, -255,2, -255,239, -255,90, -255,254, -255,37, -0,0, -255,127, -255,255, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,251, -255,89, -255,20, -255,236, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,213, -255,245, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,212, -255,129, -255,165, -0,0, -0,0, -0,0, -255,134, -255,158, -255,182, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,177, -255,7, -255,245, -255,28, -255,238, -255,39, -255,127, -255,240, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,249, -255,13, -0,0, -0,0, -255,132, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -255,20, -255,236, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,80, -255,71, -255,246, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,249, -255,144, -0,0, -255,71, -255,255, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,254, -255,45, -255,15, -255,255, -255,175, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,229, -0,0, -255,46, -255,251, -255,12, -255,212, -255,99, -0,0, -255,174, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,192, -255,74, -255,58, -255,251, -255,94, -255,159, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,188, -255,69, -255,56, -255,187, -255,255, -255,115, -255,64, -255,64, -255,64, -255,64, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,221, -255,45, -255,242, -255,8, -0,0, -0,0, -255,219, -255,74, -255,190, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,229, -255,66, -255,211, -0,0, -255,172, -255,107, -255,177, -255,175, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,255, -255,83, -0,0, -0,0, -255,207, -255,217, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -255,159, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,206, -255,241, -255,237, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,240, -255,11, -255,181, -255,220, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,240, -255,177, -0,0, -255,6, -255,255, -255,255, -255,255, -255,255, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,255, -255,21, -255,107, -255,202, -0,0, -255,149, -255,160, -0,0, -255,222, -255,163, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,143, -255,238, -255,241, -255,160, -255,67, -255,237, -255,21, -0,0, -255,1, -255,182, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,148, -255,255, -255,52, -0,0, -0,0, -255,183, -255,255, -255,133, -0,0, -0,0, -0,0, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,229, -0,0, -255,216, -255,81, -0,0, -255,50, -255,239, -255,6, -255,198, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,255, -255,159, -255,143, -0,0, -255,104, -255,174, -255,227, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,244, -255,158, -0,0, -255,27, -255,255, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -255,61, -255,237, -255,21, -255,1, -255,182, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,248, -255,216, -255,235, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,246, -255,141, -255,254, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,185, -255,148, -255,148, -255,255, -255,223, -255,112, -255,112, -255,112, -255,80, -0,0, -27,0, -0,0, -62,5, -0,0, -0,0, -255,56, -255,255, -255,69, -255,168, -255,140, -0,0, -255,86, -255,221, -255,14, -255,254, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,212, -255,102, -0,0, -0,0, -255,121, -255,246, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,101, -255,255, -255,182, -255,100, -255,174, -255,255, -255,243, -255,252, -255,153, -255,114, -255,163, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,237, -0,0, -255,132, -255,167, -0,0, -255,136, -255,162, -0,0, -255,205, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,243, -255,250, -255,74, -0,0, -255,35, -255,245, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,232, -255,1, -255,102, -255,255, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,212, -255,102, -0,0, -255,121, -255,246, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,50, -255,253, -255,141, -255,24, -255,233, -255,185, -255,1, -255,152, -255,225, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,255, -255,213, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,250, -255,255, -255,255, -255,255, -255,255, -255,255, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,247, -255,117, -255,229, -255,77, -0,0, -255,24, -255,255, -255,87, -255,255, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,198, -255,1, -0,0, -255,62, -255,236, -255,119, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,3, -255,142, -255,233, -255,247, -255,207, -255,94, -255,32, -255,170, -255,239, -255,249, -255,210, -255,111, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,48, -255,243, -255,9, -255,221, -255,78, -0,0, -255,208, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,250, -255,11, -0,0, -0,0, -255,222, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,53, -255,177, -255,209, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,198, -255,1, -255,62, -255,236, -255,119, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,253, -255,206, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,71, -0,0, -255,73, -255,254, -255,114, -255,219, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,91, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,46, -0,0, -0,0, -0,0, -255,231, -255,219, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,195, -255,200, -255,253, -255,17, -0,0, -0,0, -255,217, -255,196, -255,240, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,241, -255,47, -0,0, -255,21, -255,229, -255,101, -255,98, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,219, -255,135, -255,242, -255,7, -0,0, -255,208, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,239, -255,134, -255,244, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,241, -255,47, -255,21, -255,229, -255,101, -255,98, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,247, -255,29, -0,0, -0,0, -255,5, -255,212, -255,253, -255,22, -0,0, -0,0, -0,0, -0,0, -255,108, -255,255, -255,112, -0,0, -0,0, -255,146, -255,254, -255,249, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,244, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,255, -255,186, -0,0, -0,0, -0,0, -0,0, -255,222, -255,240, -255,112, -255,112, -255,112, -255,112, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,255, -255,209, -0,0, -0,0, -0,0, -255,154, -255,255, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,138, -0,0, -0,0, -255,101, -255,255, -255,255, -255,255, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,135, -255,252, -255,166, -0,0, -0,0, -255,208, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,238, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,138, -0,0, -255,101, -255,255, -255,255, -255,255, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,227, -255,131, -255,123, -255,206, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,238, -255,245, -255,135, -255,133, -255,231, -255,236, -255,253, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,203, -255,255, -255,70, -0,0, -0,0, -0,0, -0,0, -255,213, -255,255, -255,255, -255,255, -255,255, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,255, -255,147, -0,0, -0,0, -0,0, -255,91, -255,255, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,50, -255,255, -255,82, -0,0, -0,0, -255,208, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,187, -255,235, -255,240, -255,202, -255,95, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,185, -255,239, -255,236, -255,147, -255,22, -255,236, -255,227, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,203, -255,253, -255,213, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,251, -255,178, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,103, -255,205, -255,246, -255,239, -255,179, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,103, -255,205, -255,246, -255,239, -255,179, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,227, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,176, -255,184, -255,58, -255,9, -255,18, -255,92, -255,223, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,176, -255,184, -255,58, -255,9, -255,18, -255,92, -255,223, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,150, -255,248, -0,0, -0,0, -255,1, -255,180, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -97,0, -0,0, -92,182, -72,0, -99,5, -0,0, -0,0, -255,132, -255,161, -255,85, -255,255, -255,254, -255,225, -255,92, -255,25, -255,220, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,161, -255,10, -255,158, -255,240, -255,222, -255,84, -255,25, -255,220, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -0,0, -255,100, -255,213, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,169, -255,168, -255,234, -255,235, -255,113, -255,41, -255,199, -255,246, -255,196, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,133, -255,211, -255,245, -255,245, -255,212, -255,135, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,227, -255,12, -255,84, -255,200, -0,0, -255,50, -255,249, -255,6, -255,79, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,227, -255,12, -255,124, -255,195, -255,18, -255,74, -255,245, -255,8, -255,79, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,234, -255,233, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -255,20, -255,236, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,220, -255,242, -255,159, -255,18, -0,0, -255,35, -255,153, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,255, -255,255, -255,240, -255,181, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,185, -255,243, -255,238, -255,197, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,204, -255,1, -0,0, -0,0, -255,66, -255,255, -255,206, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,167, -255,132, -255,239, -255,254, -255,223, -255,140, -255,155, -255,255, -255,193, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,233, -255,172, -255,64, -255,19, -255,19, -255,59, -255,161, -255,228, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,165, -0,0, -255,84, -255,200, -0,0, -255,57, -255,243, -255,6, -255,5, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,165, -0,0, -255,193, -255,95, -0,0, -0,0, -255,117, -255,15, -255,5, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,254, -255,70, -255,78, -255,252, -255,27, -0,0, -255,158, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -255,159, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,228, -255,201, -255,148, -255,245, -255,228, -255,113, -255,187, -255,229, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,133, -255,109, -255,143, -255,238, -255,250, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,240, -255,189, -255,133, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,237, -255,137, -255,125, -255,216, -255,255, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,90, -0,0, -255,2, -255,206, -255,254, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,192, -0,0, -0,0, -255,126, -255,255, -255,130, -0,0, -0,0, -255,201, -255,253, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,235, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,210, -255,2, -0,0, -0,0, -0,0, -0,0, -255,86, -255,141, -0,0, -255,84, -255,255, -255,255, -255,255, -255,145, -0,0, -0,0, -255,225, -255,2, -0,0, -0,0, -0,0, -0,0, -255,86, -255,141, -0,0, -255,211, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,225, -255,2, -0,0, -0,0, -0,0, -0,0, -255,66, -255,249, -0,0, -255,1, -255,255, -255,61, -255,68, -255,233, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -255,61, -255,237, -255,21, -255,114, -255,232, -255,241, -255,147, -255,1, -0,0, -0,0, -0,0, -0,0, -255,14, -255,173, -255,35, -0,0, -255,39, -255,196, -255,254, -255,242, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,44, -0,0, -0,0, -255,34, -255,243, -255,230, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,141, -255,229, -255,255, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,250, -255,41, -0,0, -0,0, -255,16, -255,235, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,242, -255,223, -255,7, -255,95, -255,255, -255,155, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,97, -255,255, -255,104, -0,0, -0,0, -255,173, -255,255, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,190, -0,0, -0,0, -255,131, -255,239, -255,242, -255,167, -255,24, -255,3, -255,224, -255,74, -0,0, -0,0, -0,0, -0,0, -255,66, -255,166, -0,0, -255,84, -255,200, -0,0, -255,43, -255,250, -255,10, -255,5, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,166, -0,0, -255,193, -255,95, -0,0, -0,0, -255,117, -255,13, -255,5, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,252, -255,82, -255,87, -255,251, -255,33, -255,218, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,212, -255,102, -255,20, -255,219, -255,100, -255,90, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,44, -0,0, -0,0, -0,0, -255,146, -255,255, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,124, -255,255, -255,244, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,181, -0,0, -0,0, -0,0, -0,0, -255,73, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,255, -255,125, -255,227, -255,236, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -255,172, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,7, -255,244, -255,79, -0,0, -255,100, -255,246, -255,90, -255,61, -255,255, -255,58, -0,0, -255,151, -255,139, -0,0, -0,0, -0,0, -0,0, -255,11, -255,227, -255,12, -255,84, -255,200, -0,0, -255,1, -255,252, -255,34, -255,81, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,227, -255,12, -255,126, -255,194, -255,18, -255,71, -255,245, -255,6, -255,81, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,222, -255,222, -255,97, -255,127, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,198, -255,1, -0,0, -0,0, -0,0, -255,113, -255,248, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,44, -0,0, -0,0, -0,0, -255,104, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -255,27, -255,227, -255,139, -255,255, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,150, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,209, -255,255, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -255,172, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,16, -0,0, -255,220, -255,153, -0,0, -255,42, -255,255, -255,34, -0,0, -255,120, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,161, -255,1, -0,0, -0,0, -0,0, -0,0, -255,25, -255,220, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,161, -255,11, -255,161, -255,241, -255,223, -255,86, -255,25, -255,220, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,242, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,241, -255,47, -0,0, -0,0, -0,0, -255,118, -255,246, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,255, -255,255, -255,255, -255,16, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -255,166, -255,110, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,255, -255,245, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -255,172, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,78, -255,244, -0,0, -255,23, -255,255, -255,91, -0,0, -255,66, -255,255, -255,10, -0,0, -255,125, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,176, -255,184, -255,58, -255,8, -255,17, -255,91, -255,222, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,176, -255,184, -255,58, -255,8, -255,17, -255,91, -255,222, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,134, -255,77, -255,218, -255,230, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,138, -0,0, -0,0, -255,4, -255,155, -255,244, -255,78, -255,16, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,181, -255,255, -255,97, -255,64, -255,4, -0,0, -255,104, -255,255, -255,99, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -255,60, -255,211, -255,4, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,150, -0,0, -0,0, -255,200, -255,255, -255,255, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,228, -255,212, -255,253, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -255,172, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,77, -255,243, -0,0, -255,45, -255,255, -255,73, -0,0, -255,89, -255,243, -0,0, -0,0, -255,180, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,104, -255,206, -255,247, -255,240, -255,179, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,104, -255,206, -255,247, -255,240, -255,179, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,222, -255,16, -255,243, -255,107, -255,60, -255,249, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,44, -0,0, -0,0, -0,0, -255,146, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,139, -255,2, -255,206, -255,66, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,185, -0,0, -0,0, -255,65, -255,84, -255,199, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,61, -255,167, -255,248, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,255, -255,21, -255,17, -255,250, -255,162, -255,71, -255,198, -255,247, -255,19, -255,91, -255,236, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,229, -255,75, -255,33, -255,255, -255,25, -0,0, -255,221, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,44, -0,0, -0,0, -255,32, -255,242, -255,232, -255,8, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,174, -255,104, -255,172, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,252, -255,52, -0,0, -0,0, -0,0, -255,172, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,250, -255,188, -0,0, -255,41, -255,253, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,231, -255,104, -0,0, -255,115, -255,240, -255,218, -255,67, -255,194, -255,248, -255,200, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,164, -0,0, -255,8, -255,245, -255,100, -255,48, -255,248, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,133, -255,108, -255,141, -255,237, -255,250, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,209, -255,250, -255,228, -255,31, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,245, -255,244, -255,145, -255,113, -255,147, -255,242, -255,240, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,189, -255,255, -255,58, -0,0, -0,0, -255,165, -255,255, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,234, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,227, -255,239, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,255, -255,255, -255,241, -255,183, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,248, -255,240, -255,139, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,174, -255,239, -255,249, -255,226, -255,158, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,255, -255,184, -0,0, -0,0, -0,0, -255,39, -255,252, -255,228, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,162, -255,235, -255,114, -255,41, -255,21, -255,44, -255,111, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,222, -255,179, -255,241, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,212, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,184, -255,236, -255,249, -255,225, -255,167, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,62, -255,230, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,245, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -72,0, -74,182, -72,0, -25,5, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,108, -255,108, -255,188, -255,255, -255,142, -255,108, -255,108, -255,48, -0,0, -0,0, -0,0, -0,0, -255,33, -255,108, -255,108, -255,108, -255,108, -255,135, -255,255, -255,214, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,240, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,183, -255,241, -255,229, -255,148, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,255, -255,110, -0,0, -0,0, -0,0, -255,87, -255,255, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,254, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,219, -255,144, -255,213, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,224, -255,121, -255,141, -255,222, -255,243, -255,199, -255,90, -255,195, -255,155, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,74, -0,0, -0,0, -0,0, -255,13, -255,241, -255,231, -255,10, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,219, -255,246, -255,130, -255,165, -255,255, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,249, -255,228, -255,7, -0,0, -255,1, -255,210, -255,254, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,99, -255,205, -255,243, -255,229, -255,170, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,62, -255,132, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,163, -255,255, -255,238, -255,134, -255,107, -255,173, -255,255, -255,251, -255,76, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,252, -255,182, -0,0, -0,0, -0,0, -255,108, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,144, -0,0, -0,0, -255,208, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,255, -255,104, -0,0, -255,81, -255,255, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,228, -255,231, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,137, -255,255, -255,194, -255,119, -255,138, -255,239, -255,240, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,233, -255,2, -255,51, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,238, -255,32, -0,0, -0,0, -0,0, -255,119, -255,254, -255,41, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,254, -255,37, -0,0, -255,1, -255,216, -255,226, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,251, -255,224, -255,5, -255,205, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,255, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,242, -255,225, -255,4, -0,0, -0,0, -255,71, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,232, -255,154, -0,0, -0,0, -255,225, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,181, -255,242, -255,246, -255,196, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,234, -255,126, -0,0, -0,0, -0,0, -0,0, -255,2, -255,228, -255,129, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,249, -255,144, -0,0, -255,71, -255,255, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,179, -0,0, -255,169, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,24, -255,237, -255,241, -255,32, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,255, -255,170, -255,255, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,253, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,231, -255,234, -255,17, -0,0, -0,0, -255,5, -255,64, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,171, -255,124, -255,124, -255,209, -255,245, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,246, -255,240, -255,149, -255,142, -255,226, -255,254, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,255, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -255,191, -255,158, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,240, -255,11, -255,181, -255,220, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,1, -255,253, -255,206, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,129, -0,0, -255,218, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,177, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,104, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,252, -255,255, -255,255, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,211, -255,244, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,255, -255,230, -255,128, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,250, -255,44, -0,0, -0,0, -255,19, -255,227, -255,245, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,235, -255,127, -0,0, -0,0, -0,0, -0,0, -255,2, -255,229, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,246, -255,141, -255,254, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,247, -255,29, -0,0, -0,0, -255,5, -255,212, -255,253, -255,22, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,80, -255,13, -255,254, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,92, -255,255, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,43, -255,139, -255,255, -255,193, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,255, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,213, -255,255, -255,255, -255,200, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,243, -255,160, -0,0, -0,0, -0,0, -255,1, -255,234, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,237, -255,30, -0,0, -0,0, -0,0, -255,116, -255,254, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,255, -255,213, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,227, -255,131, -255,123, -255,206, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,25, -255,238, -255,230, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,108, -255,163, -255,255, -255,168, -255,108, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,247, -255,244, -255,111, -255,108, -255,108, -255,108, -255,108, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,136, -255,243, -255,250, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -255,164, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,11, -255,192, -255,255, -255,237, -255,132, -255,106, -255,171, -255,255, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,253, -255,206, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,187, -255,235, -255,240, -255,202, -255,95, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,104, -255,242, -255,44, -255,133, -255,216, -255,44, -255,26, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,178, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,84, -255,39, -0,0, -0,0, -0,0, -255,66, -255,255, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,13, -255,190, -255,88, -255,142, -255,223, -255,243, -255,200, -255,87, -255,163, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,247, -255,29, -0,0, -0,0, -255,5, -255,212, -255,253, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,205, -0,0, -255,143, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,189, -255,255, -255,123, -255,108, -255,108, -255,108, -255,108, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,108, -255,163, -255,255, -255,168, -255,108, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,172, -0,0, -0,0, -0,0, -255,45, -255,255, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,227, -255,131, -255,123, -255,206, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,167, -0,0, -255,181, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,248, -255,136, -255,214, -255,252, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,255, -255,180, -255,115, -255,125, -255,222, -255,254, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,187, -255,235, -255,240, -255,202, -255,95, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,253, -255,206, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -255,1, -255,253, -255,206, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,38, -255,242, -255,232, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,103, -255,204, -255,242, -255,236, -255,188, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,250, -255,42, -0,0, -0,0, -255,16, -255,223, -255,246, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,247, -255,29, -0,0, -0,0, -255,5, -255,212, -255,253, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,247, -255,29, -0,0, -0,0, -255,5, -255,212, -255,253, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,40, -255,245, -255,99, -255,57, -255,255, -255,69, -255,40, -255,2, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,88, -255,255, -255,195, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,247, -255,239, -255,145, -255,137, -255,223, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,191, -255,245, -255,234, -255,187, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,227, -255,131, -255,123, -255,206, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,227, -255,131, -255,123, -255,206, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,23, -255,66, -255,243, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,150, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,173, -255,43, -0,0, -0,0, -255,58, -255,165, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,243, -255,206, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,183, -255,243, -255,246, -255,198, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,250, -255,232, -255,133, -255,131, -255,227, -255,254, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,187, -255,235, -255,240, -255,202, -255,95, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,187, -255,235, -255,240, -255,202, -255,95, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,229, -0,0, -255,115, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,7, -255,205, -255,255, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,234, -255,232, -255,39, -255,55, -255,241, -255,225, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,120, -255,210, -255,255, -255,103, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,250, -255,38, -0,0, -0,0, -255,29, -255,247, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,237, -255,230, -255,240, -255,227, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,20, -255,253, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -255,147, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,191, -255,245, -255,234, -255,187, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,182, -255,243, -255,240, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,193, -255,103, -255,157, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,53, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,181, -255,246, -255,219, -255,104, -255,251, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,255, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,185, -255,247, -255,216, -255,121, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,15, -255,252, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,250, -255,232, -255,133, -255,131, -255,227, -255,254, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,244, -255,243, -255,142, -255,128, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,253, -255,255, -255,211, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,191, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,186, -255,255, -255,171, -255,137, -255,231, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,236, -255,232, -255,241, -255,227, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,255, -255,168, -255,139, -255,235, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,120, -255,204, -255,244, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,250, -255,38, -0,0, -0,0, -255,29, -255,247, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -255,191, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,201, -255,83, -255,174, -255,255, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,242, -255,207, -255,74, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,183, -0,0, -0,0, -255,70, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,181, -255,132, -255,240, -255,229, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -255,8, -255,216, -255,249, -255,52, -0,0, -0,0, -0,0, -0,0, -255,38, -255,234, -255,234, -255,42, -255,58, -255,243, -255,225, -255,27, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -255,180, -0,0, -0,0, -255,79, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,167, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,246, -255,209, -255,100, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,53, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -255,147, -255,170, -0,0, -0,0, -0,0, -0,0, -255,13, -255,253, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,130, -255,218, -255,247, -255,226, -255,160, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,254, -255,232, -255,160, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,163, -255,232, -255,239, -255,186, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,154, -255,226, -255,242, -255,194, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -255,72, -255,210, -255,2, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,115, -0,0, -0,0, -255,56, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,251, -255,176, -255,128, -255,224, -255,255, -255,62, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -255,140, -255,255, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,177, -255,45, -0,0, -0,0, -255,61, -255,168, -255,6, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,114, -0,0, -0,0, -255,64, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,11, -255,136, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,118, -255,202, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,191, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,181, -0,0, -0,0, -0,0, -0,0, -255,144, -255,163, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,195, -255,170, -255,236, -255,227, -255,132, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,167, -255,231, -255,233, -255,148, -255,235, -255,253, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,231, -255,255, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,168, -255,255, -255,173, -255,116, -255,158, -255,253, -255,223, -255,9, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,112, -255,158, -255,251, -255,233, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,210, -255,250, -255,144, -255,127, -255,237, -255,235, -255,23, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,251, -255,149, -255,126, -255,237, -255,242, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,192, -255,96, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,108, -0,0, -0,0, -255,56, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,190, -0,0, -0,0, -255,78, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -255,57, -255,253, -255,181, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,107, -0,0, -0,0, -255,64, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,5, -255,250, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,9, -255,231, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,242, -255,207, -255,74, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,250, -255,39, -0,0, -0,0, -255,26, -255,246, -255,202, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,254, -255,161, -255,113, -255,192, -255,255, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,220, -255,250, -255,141, -255,110, -255,163, -255,253, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,240, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,249, -255,207, -0,0, -0,0, -0,0, -255,150, -255,255, -255,67, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,78, -255,255, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,240, -255,140, -0,0, -0,0, -255,106, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,145, -0,0, -0,0, -255,97, -255,255, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,56, -255,225, -255,8, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,165, -0,0, -0,0, -255,70, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,48, -255,255, -255,151, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,255, -255,254, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,255, -255,163, -0,0, -0,0, -255,79, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,236, -255,219, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,186, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -255,72, -255,210, -255,2, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,250, -255,234, -255,134, -255,127, -255,223, -255,254, -255,76, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,167, -0,0, -0,0, -255,10, -255,238, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,255, -255,123, -0,0, -0,0, -0,0, -255,182, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,253, -255,107, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,226, -255,242, -255,64, -0,0, -0,0, -255,16, -255,40, -255,12, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,202, -255,253, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -255,36, -255,104, -255,41, -0,0, -0,0, -255,75, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,175, -255,117, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,1, -255,205, -255,255, -255,162, -255,135, -255,230, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,48, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,214, -255,151, -255,255, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,208, -255,254, -255,159, -255,139, -255,235, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,227, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,7, -255,229, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,192, -255,96, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,189, -255,244, -255,246, -255,195, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,181, -0,0, -0,0, -0,0, -0,0, -255,144, -255,163, -0,0, -0,0, -0,0, -0,0, -255,23, -255,255, -255,177, -0,0, -0,0, -0,0, -255,205, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,135, -255,255, -255,66, -0,0, -0,0, -0,0, -255,196, -255,254, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,208, -255,197, -255,1, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,255, -255,225, -255,146, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,183, -255,247, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,41, -255,235, -255,89, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,189, -255,248, -255,222, -255,126, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,48, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -255,2, -255,196, -255,254, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,193, -255,248, -255,222, -255,112, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,117, -255,198, -255,255, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -255,56, -255,225, -255,8, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,250, -255,39, -0,0, -0,0, -255,26, -255,246, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -255,221, -255,237, -255,14, -0,0, -255,15, -255,243, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,255, -255,124, -0,0, -0,0, -255,28, -255,247, -255,199, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,249, -255,41, -0,0, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,219, -255,234, -255,142, -255,210, -255,255, -255,255, -255,166, -255,3, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,152, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,255, -255,254, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,158, -255,209, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,113, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,48, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -255,38, -255,247, -255,222, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,247, -255,210, -255,103, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,149, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,175, -255,117, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,250, -255,234, -255,134, -255,127, -255,223, -255,254, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,207, -255,122, -255,200, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,221, -255,251, -255,153, -255,124, -255,221, -255,251, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,244, -255,126, -0,0, -0,0, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,136, -0,0, -0,0, -255,43, -255,192, -255,255, -255,91, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,104, -255,117, -255,216, -255,236, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,251, -255,197, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,29, -255,248, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,195, -255,144, -255,152, -255,240, -255,243, -255,33, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,48, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -255,116, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,41, -255,235, -255,89, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,189, -255,244, -255,246, -255,195, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,214, -255,247, -255,213, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,155, -255,226, -255,248, -255,197, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,215, -255,52, -0,0, -0,0, -255,79, -255,255, -255,125, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,202, -255,253, -255,15, -0,0, -0,0, -0,0, -0,0, -255,1, -255,4, -255,1, -0,0, -0,0, -255,57, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,244, -255,215, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,195, -255,241, -255,237, -255,187, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,158, -255,209, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,148, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,112, -255,112, -255,112, -255,112, -255,251, -255,226, -255,112, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,253, -255,255, -255,219, -255,142, -255,210, -255,245, -255,44, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,75, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,124, -0,0, -0,0, -255,62, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,234, -255,226, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,29, -255,248, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,65, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,135, -255,218, -255,255, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,112, -255,157, -255,251, -255,235, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,236, -255,245, -255,140, -255,123, -255,225, -255,253, -255,62, -0,0, -0,0, -0,0, -0,0, -255,17, -255,220, -255,255, -255,148, -255,108, -255,108, -255,108, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,72, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,220, -255,228, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,32, -255,14, -0,0, -0,0, -255,58, -255,223, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,254, -255,233, -255,161, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,173, -255,235, -255,240, -255,192, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,61, -255,8, -0,0, -0,0, -0,0, -89,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,154, -0,0, -0,0, -0,0, -255,152, -255,255, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,50, -0,0, -0,0, -255,158, -255,255, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,174, -255,248, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,221, -255,254, -255,163, -255,115, -255,149, -255,251, -255,223, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,155, -255,182, -255,241, -255,227, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,185, -255,247, -255,218, -255,113, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,135, -255,231, -255,248, -255,196, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,119, -0,0, -0,0, -255,227, -255,231, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,189, -255,152, -255,245, -255,229, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,147, -255,223, -255,248, -255,229, -255,164, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,177, -255,134, -255,232, -255,255, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,255, -255,161, -255,131, -255,232, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,171, -255,125, -255,231, -255,238, -255,17, -0,0, -0,0, -0,0, -0,0, -255,8, -255,241, -255,189, -0,0, -255,40, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,174, -255,130, -255,225, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,196, -0,0, -0,0, -255,63, -255,255, -255,164, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -255,178, -0,0, -0,0, -255,87, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,5, -255,242, -255,204, -0,0, -0,0, -255,73, -255,255, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,248, -255,9, -255,109, -255,255, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,201, -0,0, -0,0, -255,52, -255,255, -255,169, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,254, -255,229, -255,171, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,255, -255,255, -255,255, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,152, -255,230, -255,244, -255,179, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -255,244, -255,204, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,114, -0,0, -0,0, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,35, -255,255, -255,151, -0,0, -0,0, -255,17, -255,255, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,72, -255,178, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,160, -255,160, -255,227, -255,255, -255,163, -255,160, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -255,243, -255,208, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,109, -255,144, -255,246, -255,230, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,188, -255,17, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,159, -255,159, -255,243, -255,231, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,116, -255,116, -255,212, -255,240, -255,116, -255,116, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,255, -255,161, -255,136, -255,136, -255,136, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,190, -255,254, -255,154, -255,133, -255,243, -255,222, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -255,237, -255,214, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,107, -0,0, -0,0, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,58, -255,255, -255,140, -0,0, -0,0, -255,4, -255,255, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,227, -255,144, -255,242, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,44, -255,9, -0,0, -0,0, -255,121, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -255,236, -255,218, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,122, -255,255, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,149, -255,234, -255,247, -255,223, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,253, -255,180, -255,127, -255,221, -255,255, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,159, -0,0, -0,0, -255,97, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,192, -0,0, -0,0, -255,39, -255,255, -255,178, -0,0, -0,0, -0,0, -0,0, -255,55, -255,255, -255,162, -0,0, -0,0, -255,87, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,140, -0,0, -0,0, -255,4, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,239, -255,253, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,255, -255,85, -0,0, -0,0, -255,165, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,201, -0,0, -0,0, -255,34, -255,255, -255,182, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,93, -255,255, -255,107, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,165, -255,131, -255,255, -255,248, -255,48, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,193, -0,0, -0,0, -255,76, -255,255, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,138, -255,226, -255,243, -255,195, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,104, -0,0, -0,0, -255,38, -255,255, -255,145, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,163, -255,123, -255,219, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -255,1, -255,208, -255,254, -255,152, -255,129, -255,231, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,58, -255,255, -255,140, -0,0, -0,0, -255,4, -255,255, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,204, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,246, -255,231, -255,125, -255,151, -255,253, -255,197, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,174, -255,127, -255,216, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -255,30, -255,199, -255,244, -255,31, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,178, -0,0, -255,115, -255,196, -255,255, -255,164, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,249, -255,187, -255,243, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,108, -255,108, -255,108, -255,108, -255,119, -255,251, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,255, -255,175, -255,126, -255,238, -255,243, -255,31, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,145, -0,0, -0,0, -255,39, -255,255, -255,170, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,33, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,33, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,195, -255,161, -255,239, -255,232, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,193, -255,248, -255,213, -255,144, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,35, -255,255, -255,152, -0,0, -0,0, -255,17, -255,255, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,194, -255,241, -255,232, -255,160, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,153, -255,183, -255,241, -255,233, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,254, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -255,11, -255,227, -255,31, -255,239, -255,213, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,8, -255,112, -255,112, -255,112, -255,112, -255,112, -255,112, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,255, -255,150, -255,126, -255,227, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,239, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,228, -255,2, -0,0, -255,103, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -255,6, -255,218, -255,250, -255,137, -255,115, -255,219, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -255,5, -255,243, -255,205, -0,0, -0,0, -255,70, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,15, -255,132, -255,233, -255,230, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,245, -255,84, -255,84, -255,91, -255,176, -255,253, -255,85, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,110, -255,120, -255,150, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,69, -0,0, -0,0, -255,57, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,247, -255,207, -0,0, -0,0, -255,75, -255,255, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,179, -255,238, -255,231, -255,129, -255,255, -255,171, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,255, -255,171, -255,124, -255,228, -255,241, -255,19, -0,0, -0,0, -0,0, -0,0, -255,50, -255,247, -255,214, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,7, -255,246, -255,201, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,173, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,173, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,255, -255,184, -255,228, -255,27, -255,49, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,8, -0,0, -0,0, -255,8, -255,255, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,199, -255,208, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,253, -255,72, -255,16, -255,180, -255,251, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,255, -255,155, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,136, -255,232, -255,249, -255,199, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -255,10, -255,247, -255,200, -0,0, -0,0, -0,0, -0,0, -255,3, -255,251, -255,199, -0,0, -0,0, -255,67, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,3, -255,251, -255,199, -0,0, -0,0, -255,67, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,214, -255,123, -255,226, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,239, -255,203, -0,0, -0,0, -255,51, -255,255, -255,158, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,255, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,201, -255,255, -255,255, -255,254, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,97, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,156, -255,236, -255,242, -255,189, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,117, -255,200, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,254, -255,151, -255,140, -255,229, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,254, -255,151, -255,140, -255,229, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,246, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,255, -255,166, -255,121, -255,221, -255,253, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,252, -255,153, -255,120, -255,216, -255,232, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,147, -255,114, -255,163, -255,255, -255,213, -255,8, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,156, -255,125, -255,234, -255,233, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,142, -255,235, -255,240, -255,186, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,164, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,245, -255,211, -255,111, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,246, -255,220, -255,87, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,246, -255,220, -255,87, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,139, -255,226, -255,244, -255,203, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,229, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,255, -255,157, -0,0, -0,0, -255,28, -255,255, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,214, -255,248, -255,236, -255,159, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,255, -255,164, -0,0, -0,0, -255,92, -255,252, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,155, -255,125, -255,234, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,154, -0,0, -0,0, -255,25, -255,255, -255,187, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,253, -255,175, -0,0, -0,0, -255,104, -255,255, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,150, -255,241, -255,255, -255,212, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,221, -255,251, -255,149, -255,119, -255,211, -255,255, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,155, -255,110, -255,222, -255,248, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,255, -255,255, -255,255, -255,255, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,167, -255,231, -255,246, -255,211, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,64, -255,64, -255,64, -255,64, -255,145, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,162, -0,0, -0,0, -255,69, -255,196, -255,62, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,173, -255,76, -255,76, -255,76, -255,76, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,181, -0,0, -0,0, -255,68, -255,240, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,112, -255,112, -255,112, -255,196, -255,255, -255,150, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,254, -255,155, -255,123, -255,229, -255,234, -255,21, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,203, -0,0, -0,0, -0,0, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -0,0, -0,0, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,212, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,156, -255,236, -255,242, -255,189, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,125, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,248, -255,209, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,159, -255,159, -255,243, -255,231, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,255, -255,149, -0,0, -255,15, -255,239, -255,231, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,53, -0,0, -0,0, -255,141, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,40, -255,1, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,158, -255,237, -255,243, -255,185, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,184, -255,118, -255,150, -255,221, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,255, -255,172, -255,62, -255,240, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,62, -255,230, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,156, -255,125, -255,234, -255,233, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,248, -255,160, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,218, -255,244, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,253, -255,180, -255,127, -255,221, -255,255, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -255,189, -255,247, -255,24, -255,124, -255,255, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,119, -0,0, -0,0, -255,206, -255,227, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,33, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,141, -255,230, -255,250, -255,222, -255,132, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,173, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,30, -255,254, -255,178, -0,0, -0,0, -255,46, -255,180, -255,74, -0,0, -0,0, -0,0, -0,0, -255,3, -255,243, -255,34, -255,118, -255,238, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,245, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,255, -255,164, -0,0, -0,0, -255,92, -255,252, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,151, -255,237, -255,255, -255,194, -255,84, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,193, -0,0, -0,0, -255,76, -255,255, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,247, -255,150, -255,236, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,224, -255,185, -0,0, -255,17, -255,253, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,251, -255,199, -0,0, -0,0, -255,67, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,255, -255,149, -255,104, -255,213, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,87, -255,231, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,255, -255,245, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,135, -255,245, -255,6, -255,80, -255,255, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,254, -255,151, -255,140, -255,229, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,154, -255,242, -255,255, -255,209, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,144, -255,234, -255,255, -255,189, -255,31, -0,0, -0,0, -0,0, -0,0, -255,40, -255,246, -255,250, -255,119, -255,108, -255,108, -255,108, -255,6, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,137, -255,251, -255,249, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,255, -255,62, -255,145, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,246, -255,220, -255,87, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,162, -0,0, -0,0, -255,69, -255,196, -255,62, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,9, -255,209, -255,255, -255,245, -255,154, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,251, -255,123, -255,216, -255,196, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,210, -255,129, -255,210, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,253, -255,223, -255,149, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,180, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,254, -255,155, -255,123, -255,229, -255,234, -255,21, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -255,16, -255,226, -255,119, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,3, -255,203, -255,240, -255,14, -255,96, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,50, -0,0, -0,0, -255,158, -255,255, -255,73, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,50, -0,0, -0,0, -255,158, -255,255, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,203, -255,254, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,235, -255,108, -255,110, -255,161, -255,255, -255,196, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,158, -255,237, -255,243, -255,185, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -255,2, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,180, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,114, -255,255, -255,133, -0,0, -255,4, -255,224, -255,240, -255,25, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,119, -0,0, -0,0, -255,227, -255,231, -255,3, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,119, -0,0, -0,0, -255,227, -255,231, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,254, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -255,157, -255,255, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,180, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,148, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,241, -255,189, -0,0, -255,40, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,241, -255,189, -0,0, -255,40, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -255,102, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,65, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,248, -255,9, -255,109, -255,255, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,248, -255,9, -255,109, -255,255, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -255,155, -255,255, -255,62, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,108, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,249, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,235, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,220, -255,228, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,72, -255,178, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,72, -255,178, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,235, -255,108, -255,110, -255,160, -255,254, -255,196, -255,2, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,252, -255,187, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -0,0, -255,75, -255,225, -0,0, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,187, -255,241, -255,234, -255,167, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,61, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,227, -255,144, -255,242, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,227, -255,144, -255,242, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,254, -255,224, -255,150, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,246, -255,214, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,192, -255,137, -255,223, -255,111, -255,221, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,234, -255,226, -255,99, -255,122, -255,251, -255,193, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,239, -255,253, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,239, -255,253, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,128, -255,223, -255,244, -255,193, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,173, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,5, -255,224, -255,238, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,168, -255,245, -255,255, -255,231, -255,150, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,199, -255,28, -0,0, -255,101, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,255, -255,180, -255,130, -255,247, -255,226, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,3, -255,251, -255,199, -0,0, -0,0, -255,67, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,58, -255,255, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,233, -255,255, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,245, -255,255, -255,221, -255,138, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,233, -255,5, -0,0, -255,165, -255,255, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,172, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,254, -255,151, -255,140, -255,229, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,151, -0,0, -0,0, -255,141, -255,208, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,217, -255,121, -255,244, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,80, -255,161, -255,253, -255,209, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,142, -255,235, -255,240, -255,186, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,132, -255,233, -255,230, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,132, -255,233, -255,230, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,253, -255,198, -0,0, -255,6, -255,224, -255,225, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,173, -0,0, -0,0, -255,52, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,246, -255,220, -255,87, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,7, -255,221, -255,249, -255,149, -255,155, -255,253, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,163, -255,67, -255,4, -255,191, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,168, -255,65, -0,0, -0,0, -255,174, -255,255, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,156, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,142, -255,235, -255,240, -255,186, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,155, -255,125, -255,234, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -255,50, -255,247, -255,214, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,247, -255,214, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -0,0, -255,93, -255,255, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,251, -255,199, -0,0, -0,0, -255,67, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,182, -255,239, -255,237, -255,171, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,239, -255,222, -255,103, -255,108, -255,238, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,155, -255,125, -255,234, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -255,27, -255,253, -255,175, -0,0, -0,0, -255,104, -255,255, -255,78, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -0,0, -255,110, -255,255, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,254, -255,151, -255,140, -255,229, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,188, -255,240, -255,237, -255,175, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,127, -255,228, -255,255, -255,215, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,253, -255,175, -0,0, -0,0, -255,104, -255,255, -255,78, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -0,0, -255,14, -255,212, -255,252, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,237, -255,244, -255,177, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,233, -255,248, -255,201, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,246, -255,220, -255,87, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,119, -255,255, -255,188, -255,124, -255,220, -255,254, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,142, -255,235, -255,240, -255,186, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,142, -255,235, -255,240, -255,186, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,173, -255,76, -255,76, -255,76, -255,76, -255,33, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -0,0, -0,0, -255,17, -255,198, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,164, -255,80, -255,71, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,164, -255,125, -255,227, -255,249, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,249, -255,9, -0,0, -255,57, -255,255, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,155, -255,125, -255,234, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,155, -255,125, -255,234, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,173, -255,76, -255,76, -255,76, -255,76, -255,33, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,203, -0,0, -0,0, -0,0, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -0,0, -0,0, -0,0, -255,53, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,201, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,177, -0,0, -0,0, -255,51, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,223, -255,247, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,252, -255,22, -0,0, -255,8, -255,108, -255,76, -0,0, -0,0, -0,0, -0,0, -255,27, -255,253, -255,175, -0,0, -0,0, -255,104, -255,255, -255,78, -0,0, -0,0, -0,0, -0,0, -255,27, -255,253, -255,175, -0,0, -0,0, -255,104, -255,255, -255,78, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,203, -0,0, -0,0, -0,0, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,184, -255,118, -255,150, -255,221, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,160, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -255,61, -255,161, -255,116, -255,191, -255,255, -255,103, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,251, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,240, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,253, -255,219, -255,124, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,207, -255,244, -255,187, -255,29, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,104, -255,255, -255,218, -255,91, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,184, -255,118, -255,150, -255,221, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,141, -255,230, -255,250, -255,222, -255,132, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,196, -255,79, -255,224, -255,249, -255,227, -255,134, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,184, -255,66, -255,44, -255,250, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,112, -0,0, -0,0, -0,0, -255,241, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,225, -255,142, -255,32, -255,181, -255,180, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,255, -255,255, -255,255, -255,255, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,104, -255,235, -255,255, -255,227, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,173, -255,76, -255,76, -255,76, -255,76, -255,33, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,173, -255,76, -255,76, -255,76, -255,76, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,141, -255,230, -255,250, -255,222, -255,132, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,151, -255,245, -255,247, -255,168, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -255,38, -255,255, -255,176, -0,0, -0,0, -255,51, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,219, -255,246, -255,185, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,171, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,44, -0,0, -255,89, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,104, -255,104, -255,104, -255,104, -255,104, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,98, -255,227, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,203, -0,0, -0,0, -0,0, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,203, -0,0, -0,0, -0,0, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,163, -255,233, -255,242, -255,188, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,163, -255,125, -255,227, -255,250, -255,41, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,88, -255,35, -255,215, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,255, -255,81, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,44, -0,0, -255,89, -255,237, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,96, -255,51, -0,0, -0,0, -255,40, -255,255, -255,175, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,184, -255,118, -255,150, -255,221, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,184, -255,118, -255,150, -255,221, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,248, -255,129, -255,120, -255,237, -255,229, -255,7, -0,0, -0,0, -0,0, -0,0, -255,72, -255,140, -255,140, -255,140, -255,140, -255,140, -255,140, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,151, -255,235, -255,249, -255,203, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,165, -255,255, -255,132, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,103, -255,227, -255,254, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,168, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,226, -255,139, -255,28, -255,178, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,177, -0,0, -0,0, -255,26, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,141, -255,230, -255,250, -255,222, -255,132, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,141, -255,230, -255,250, -255,222, -255,132, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,68, -0,0, -0,0, -255,145, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,253, -255,97, -255,1, -255,184, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,245, -255,158, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,208, -255,244, -255,191, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,194, -255,255, -255,162, -255,122, -255,208, -255,255, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,103, -255,4, -255,28, -255,103, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,168, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,246, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,193, -255,239, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,209, -255,173, -255,174, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,255, -255,94, -255,61, -255,237, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,158, -255,237, -255,255, -255,219, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,206, -255,135, -255,3, -255,206, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,255, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,247, -255,254, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,249, -255,210, -255,55, -255,28, -255,152, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,160, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,219, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,243, -255,198, -255,173, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,181, -255,231, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,251, -255,70, -255,53, -255,251, -255,70, -0,0, -0,0, -0,0, -0,0, -255,3, -255,231, -255,205, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,243, -255,169, -255,217, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,107, -0,0, -0,0, -255,172, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,250, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,208, -0,0, -255,188, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,219, -255,155, -255,57, -255,255, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,215, -255,117, -255,176, -255,252, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,124, -0,0, -255,34, -255,128, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,243, -255,150, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,232, -255,241, -255,148, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,255, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,215, -255,246, -255,218, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,104, -255,30, -255,104, -255,3, -0,0, -0,0, -0,0, -0,0, -255,252, -255,207, -255,143, -255,244, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,251, -255,68, -255,53, -255,251, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,255, -255,55, -0,0, -255,209, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,230, -255,245, -255,170, -255,123, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,248, -0,0, -255,68, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -255,128, -255,230, -255,60, -255,205, -255,172, -255,3, -0,0, -0,0, -0,0, -0,0, -255,20, -255,219, -255,100, -255,89, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,213, -255,134, -255,206, -255,255, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,195, -255,145, -255,195, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,255, -255,185, -255,132, -255,224, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -255,3, -255,206, -255,133, -255,3, -255,206, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,230, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,80, -0,0, -0,0, -255,46, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,247, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,254, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,208, -255,36, -0,0, -255,25, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,133, -255,226, -255,145, -255,226, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,214, -255,1, -0,0, -255,44, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -255,28, -255,103, -255,4, -255,28, -255,103, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,255, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,173, -255,232, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,91, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,245, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,255, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,186, -0,0, -0,0, -0,0, -0,0, -255,21, -255,251, -255,141, -255,251, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -255,225, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,250, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,226, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,90, -255,204, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,165, -255,245, -255,85, -255,28, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,235, -255,210, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,124, -255,124, -255,124, -255,124, -255,124, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,40, -255,40, -255,40, -255,40, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,226, -255,143, -255,226, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -255,217, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,247, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,255, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -255,15, -255,117, -255,227, -255,255, -255,217, -255,120, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,244, -255,244, -255,244, -255,244, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,241, -255,49, -255,120, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,255, -255,255, -255,255, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,255, -255,175, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,195, -255,145, -255,195, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,211, -0,0, -0,0, -255,24, -255,250, -255,198, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -255,12, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -255,129, -255,255, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -255,136, -255,255, -255,200, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,238, -255,70, -255,134, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,184, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,104, -255,30, -255,104, -255,3, -0,0, -0,0, -0,0, -0,0, -255,252, -255,255, -255,171, -255,121, -255,210, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,236, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -255,12, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -255,99, -255,255, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -255,71, -255,219, -255,255, -255,208, -255,111, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,212, -255,189, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,210, -255,149, -255,236, -255,235, -255,132, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -255,12, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -255,18, -255,234, -255,255, -255,255, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,81, -255,195, -255,255, -255,249, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,255, -255,255, -255,255, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -255,12, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,195, -255,249, -255,255, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,168, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,255, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,160, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -255,120, -255,106, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,120, -255,120, -255,120, -255,120, -255,120, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,180, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,218, -0,0, -0,0, -255,12, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,97, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,207, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,168, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,228, -0,0, -0,0, -0,0, -0,0, -255,162, -255,183, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,175, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,243, -255,6, -0,0, -255,24, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -255,15, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,139, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,179, -255,127, -255,209, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,254, -255,45, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -255,224, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,248, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,139, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,241, -255,221, -255,247, -255,192, -255,245, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -255,157, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,249, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,83, -255,254, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,60, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,249, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,246, -255,108, -255,108, -255,108, -255,108, -255,91, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,148, -255,5, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,112, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -255,7, -255,94, -255,196, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,108, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,60, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,54, -255,112, -255,112, -255,112, -255,40, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,229, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,236, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,76, -255,141, -255,206, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,255, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,255, -255,255, -255,216, -0,0, -0,0, -0,0, -0,0, -255,240, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,65, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,217, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,248, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,216, -255,48, -255,255, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,112, -255,112, -255,112, -255,40, -0,0, -0,0, -0,0, -0,0, -255,2, -255,193, -255,190, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,220, -255,228, -255,24, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,125, -255,248, -0,0, -0,0, -0,0, -0,0, -255,132, -255,205, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,101, -255,40, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,150, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,255, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,55, -255,80, -255,170, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -255,4, -255,61, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -0,0, -0,0, -0,0, -255,117, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -255,157, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,190, -255,255, -255,107, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,150, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,198, -255,244, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,135, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,240, -255,198, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,208, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,174, -0,0, -0,0, -0,0, -0,0, -255,163, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,207, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,255, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,225, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,246, -255,110, -0,0, -0,0, -0,0, -0,0, -255,94, -255,250, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,255, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,255, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,211, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,225, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,252, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,176, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,245, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,195, -255,248, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,252, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,174, -255,233, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,144, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,62, -255,245, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,229, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,168, -255,251, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,144, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,217, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,226, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,148, -255,255, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,246, -255,186, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,251, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,174, -255,233, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,212, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,226, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,247, -255,103, -0,0, -0,0, -0,0, -0,0, -255,87, -255,249, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,176, -0,0, -0,0, -0,0, -0,0, -255,163, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -46,0, -0,0, -142,4, -0,0, -160,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,207, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,73, -0,0, -0,0, -0,0, -255,217, -255,235, -255,1, -0,0, -0,0, -255,50, -255,255, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,154, -255,227, -255,248, -255,210, -255,82, -255,84, -255,215, -255,248, -255,217, -255,119, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,201, -255,128, -255,231, -255,247, -255,183, -255,20, -255,110, -255,228, -255,237, -255,149, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,177, -255,237, -255,247, -255,211, -255,119, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,54, -0,0, -0,0, -255,222, -255,202, -0,0, -0,0, -255,74, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,20, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,7, -0,0, -255,39, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,181, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,132, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,223, -255,242, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,255, -255,255, -255,159, -255,140, -255,140, -255,140, -255,140, -255,28, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,125, -0,0, -0,0, -255,26, -255,255, -255,255, -255,46, -0,0, -0,0, -255,101, -255,255, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,255, -255,190, -255,145, -255,230, -255,255, -255,255, -255,205, -255,144, -255,198, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,254, -255,219, -255,158, -255,226, -255,255, -255,214, -255,225, -255,154, -255,223, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,225, -255,95, -255,21, -255,8, -255,52, -255,169, -255,202, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,255, -255,108, -0,0, -255,36, -255,255, -255,253, -255,18, -0,0, -255,126, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,230, -255,221, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,247, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,249, -255,223, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,220, -255,92, -255,188, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,112, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,201, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,247, -255,214, -255,123, -255,198, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,145, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -26,0, -0,0, -26,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,224, -255,240, -255,201, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,177, -0,0, -0,0, -255,91, -255,255, -255,255, -255,112, -0,0, -0,0, -255,153, -255,255, -255,55, -0,0, -0,0, -0,0, -0,0, -255,7, -255,183, -255,173, -255,1, -0,0, -255,87, -255,255, -255,222, -255,6, -0,0, -255,5, -255,234, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,241, -255,15, -0,0, -255,47, -255,255, -255,248, -255,27, -0,0, -255,43, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,218, -255,23, -255,88, -255,221, -255,238, -255,158, -255,8, -255,132, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,253, -255,162, -0,0, -255,105, -255,247, -255,254, -255,85, -0,0, -255,178, -255,245, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,215, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,207, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,245, -255,70, -255,144, -255,234, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,64, -255,81, -255,219, -255,216, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,249, -255,228, -0,0, -0,0, -0,0, -0,0, -255,190, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,157, -255,213, -255,255, -255,246, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -0,0, -255,107, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,255, -255,126, -255,173, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,229, -0,0, -0,0, -255,156, -255,241, -255,220, -255,177, -0,0, -0,0, -255,204, -255,247, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,192, -255,237, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,5, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -255,3, -255,254, -255,231, -0,0, -0,0, -255,2, -255,254, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,209, -255,62, -255,39, -255,247, -255,78, -255,38, -255,213, -255,117, -255,1, -255,203, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,216, -0,0, -255,175, -255,181, -255,205, -255,154, -0,0, -255,230, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,51, -0,0, -0,0, -255,16, -255,251, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,13, -255,241, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -255,32, -255,242, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,238, -255,236, -255,13, -255,162, -255,255, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,255, -255,25, -0,0, -255,221, -255,178, -255,152, -255,239, -255,3, -255,6, -255,249, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,250, -255,239, -255,114, -255,80, -255,132, -255,255, -255,211, -255,88, -255,88, -255,88, -255,88, -255,88, -255,2, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -0,0, -255,252, -255,232, -0,0, -0,0, -0,0, -255,252, -255,236, -0,0, -0,0, -0,0, -0,0, -255,34, -255,217, -0,0, -255,123, -255,183, -0,0, -0,0, -255,107, -255,136, -0,0, -255,102, -255,149, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,254, -255,18, -255,240, -255,108, -255,132, -255,223, -255,26, -255,255, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,129, -0,0, -0,0, -255,89, -255,255, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -255,129, -255,180, -255,249, -255,231, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -255,187, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,118, -0,0, -255,152, -255,255, -255,255, -255,255, -255,255, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,255, -255,76, -255,30, -255,255, -255,112, -255,86, -255,255, -255,53, -255,51, -255,255, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,255, -255,113, -0,0, -0,0, -255,76, -255,255, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -0,0, -255,252, -255,232, -0,0, -0,0, -0,0, -255,252, -255,236, -0,0, -0,0, -0,0, -0,0, -255,70, -255,173, -0,0, -255,152, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,255, -255,124, -255,255, -255,36, -255,59, -255,255, -255,115, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,247, -255,206, -0,0, -0,0, -255,166, -255,255, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -255,28, -255,237, -255,30, -255,211, -255,255, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -255,99, -255,226, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,247, -255,232, -255,10, -0,0, -255,141, -255,255, -255,180, -255,140, -255,140, -255,140, -255,78, -0,0, -0,0, -225,4, -0,0, -92,182, -0,0, -255,57, -255,255, -255,128, -255,95, -255,255, -255,45, -255,21, -255,254, -255,118, -255,103, -255,255, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,102, -0,0, -0,0, -255,132, -255,255, -255,255, -255,67, -0,0, -0,0, -255,2, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -0,0, -255,252, -255,232, -0,0, -0,0, -0,0, -255,252, -255,236, -0,0, -0,0, -0,0, -0,0, -255,70, -255,174, -0,0, -255,152, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,251, -255,236, -255,220, -0,0, -255,3, -255,238, -255,230, -255,240, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,255, -255,28, -255,4, -255,239, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -255,164, -255,132, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,239, -255,72, -255,89, -255,221, -255,246, -255,193, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,255, -255,224, -255,176, -255,176, -255,217, -255,255, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,248, -255,180, -255,160, -255,233, -255,1, -0,0, -255,210, -255,184, -255,154, -255,255, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,231, -255,129, -255,175, -255,255, -255,219, -255,255, -255,242, -255,155, -255,144, -255,216, -255,158, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -0,0, -255,252, -255,232, -0,0, -0,0, -0,0, -255,252, -255,236, -0,0, -0,0, -0,0, -0,0, -255,33, -255,218, -0,0, -255,123, -255,183, -0,0, -0,0, -255,109, -255,133, -0,0, -255,103, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,199, -255,255, -255,148, -0,0, -0,0, -255,169, -255,255, -255,178, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,105, -255,65, -255,255, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -255,54, -255,228, -255,11, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,160, -255,9, -255,247, -255,153, -255,62, -255,247, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,253, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,232, -255,225, -255,168, -0,0, -0,0, -255,144, -255,244, -255,211, -255,221, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,219, -255,249, -255,220, -255,128, -255,8, -255,89, -255,206, -255,248, -255,241, -255,185, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,232, -0,0, -0,0, -0,0, -255,252, -255,232, -0,0, -0,0, -0,0, -255,252, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,63, -255,40, -255,247, -255,76, -255,37, -255,212, -255,116, -255,1, -255,204, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,133, -255,255, -255,76, -0,0, -0,0, -255,96, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,246, -255,183, -255,142, -255,255, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,255, -255,191, -0,0, -255,198, -255,96, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,230, -255,17, -0,0, -0,0, -0,0, -255,49, -255,253, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,98, -0,0, -0,0, -0,0, -255,111, -255,255, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,255, -255,102, -0,0, -0,0, -255,78, -255,255, -255,255, -255,164, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,219, -255,23, -255,90, -255,222, -255,239, -255,161, -255,9, -255,132, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,246, -255,216, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,245, -255,236, -255,96, -255,204, -255,1, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,235, -255,80, -0,0, -0,0, -0,0, -255,89, -255,243, -255,156, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,226, -255,5, -0,0, -0,0, -0,0, -255,100, -255,255, -255,194, -255,136, -255,136, -255,136, -255,136, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,255, -255,35, -0,0, -0,0, -255,15, -255,252, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,225, -255,95, -255,20, -255,7, -255,52, -255,169, -255,203, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,255, -255,255, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,235, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,255, -255,250, -255,61, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,160, -0,0, -0,0, -255,3, -255,149, -255,254, -255,143, -255,36, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,204, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -255,89, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,225, -0,0, -0,0, -0,0, -0,0, -255,201, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,178, -255,238, -255,248, -255,212, -255,120, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,244, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,219, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,229, -255,255, -255,193, -255,155, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,255, -255,255, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,200, -255,255, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,236, -255,152, -255,227, -255,249, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,228, -255,248, -255,208, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,177, -255,237, -255,247, -255,211, -255,119, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,222, -255,240, -255,158, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,105, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,189, -255,122, -255,57, -255,230, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,225, -255,95, -255,21, -255,8, -255,52, -255,169, -255,202, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,245, -255,129, -255,63, -255,240, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,243, -255,45, -0,0, -0,0, -0,0, -255,107, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,218, -255,43, -255,255, -255,255, -255,243, -255,178, -255,18, -255,132, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,30, -0,0, -255,186, -255,152, -0,0, -255,45, -255,198, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,177, -255,232, -255,250, -255,233, -255,180, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,21, -255,206, -255,183, -0,0, -0,0, -255,32, -255,242, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,209, -255,62, -255,20, -255,255, -255,38, -255,23, -255,185, -255,137, -255,1, -255,203, -255,67, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,69, -255,6, -255,219, -255,129, -255,3, -255,203, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,255, -255,255, -255,248, -255,209, -255,111, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,7, -0,0, -255,39, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,249, -255,223, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,164, -255,239, -255,123, -255,50, -255,30, -255,49, -255,116, -255,232, -255,162, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,224, -255,126, -255,57, -255,213, -255,189, -0,0, -0,0, -255,187, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,217, -0,0, -255,20, -255,255, -255,28, -255,20, -255,183, -255,134, -0,0, -255,102, -255,149, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,58, -0,0, -0,0, -0,0, -0,0, -255,55, -255,255, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,248, -255,234, -255,223, -255,25, -255,120, -255,213, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,181, -255,136, -255,156, -255,223, -255,255, -255,176, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,220, -255,92, -255,188, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,245, -255,70, -255,144, -255,234, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,222, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,221, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,228, -255,246, -255,196, -255,44, -0,0, -255,99, -255,226, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,173, -0,0, -255,20, -255,255, -255,255, -255,255, -255,240, -255,22, -0,0, -255,58, -255,185, -0,0, -0,0, -0,0, -0,0, -255,192, -255,251, -255,248, -255,147, -0,0, -0,0, -0,0, -0,0, -255,144, -255,249, -255,250, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,61, -255,10, -255,39, -255,244, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -255,12, -255,190, -255,255, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,64, -255,81, -255,219, -255,216, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,253, -255,53, -0,0, -255,49, -255,206, -255,250, -255,214, -255,93, -0,0, -255,75, -255,241, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,239, -255,72, -0,0, -255,127, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,174, -0,0, -255,20, -255,255, -255,38, -255,21, -255,196, -255,121, -0,0, -255,59, -255,184, -0,0, -0,0, -0,0, -0,0, -255,192, -255,251, -255,173, -255,233, -255,3, -0,0, -0,0, -255,2, -255,231, -255,175, -255,248, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,196, -255,140, -255,16, -255,63, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -255,135, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -0,0, -255,43, -255,255, -255,210, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,177, -0,0, -255,12, -255,232, -255,191, -255,68, -255,173, -255,222, -0,0, -255,2, -255,234, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,160, -0,0, -255,77, -255,249, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,218, -0,0, -255,20, -255,255, -255,28, -0,0, -255,141, -255,161, -0,0, -255,103, -255,148, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,86, -255,255, -255,71, -0,0, -0,0, -255,67, -255,255, -255,85, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,218, -255,59, -255,238, -255,231, -255,250, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,212, -255,245, -255,199, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,252, -255,227, -255,5, -0,0, -0,0, -255,14, -255,240, -255,246, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,201, -255,246, -255,189, -255,48, -0,0, -0,0, -255,107, -255,93, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,108, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,143, -255,255, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,241, -255,253, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,245, -255,94, -0,0, -255,118, -255,252, -255,25, -0,0, -255,158, -255,201, -0,0, -0,0, -255,191, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,230, -255,17, -255,40, -255,239, -255,103, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,63, -255,20, -255,255, -255,28, -0,0, -255,130, -255,177, -255,1, -255,204, -255,65, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,21, -255,239, -255,160, -0,0, -0,0, -255,157, -255,240, -255,19, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,243, -255,61, -255,166, -255,189, -255,1, -255,106, -255,246, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,250, -255,202, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,251, -255,229, -255,148, -255,235, -255,230, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,255, -255,95, -0,0, -0,0, -255,117, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,199, -255,235, -255,164, -255,239, -255,248, -255,122, -255,87, -255,243, -255,136, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,235, -255,16, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,71, -255,254, -255,224, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -255,220, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,255, -255,43, -0,0, -255,187, -255,205, -0,0, -0,0, -255,180, -255,179, -0,0, -0,0, -255,178, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,235, -255,80, -255,14, -255,216, -255,151, -255,56, -255,255, -255,125, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,219, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,23, -255,155, -255,241, -255,8, -255,7, -255,239, -255,156, -255,20, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,148, -0,0, -255,189, -255,150, -0,0, -255,66, -255,255, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,29, -255,188, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,89, -0,0, -255,105, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,251, -255,211, -255,1, -255,6, -255,229, -255,245, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,217, -255,87, -0,0, -255,28, -255,193, -255,255, -255,255, -255,224, -255,24, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,141, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,21, -255,231, -255,251, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,172, -255,255, -255,148, -255,84, -255,34, -0,0, -0,0, -255,220, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,20, -0,0, -255,232, -255,169, -0,0, -0,0, -255,202, -255,157, -0,0, -0,0, -255,197, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,160, -0,0, -255,89, -255,255, -255,255, -255,255, -255,255, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,225, -255,95, -255,20, -255,7, -255,52, -255,169, -255,203, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,32, -255,64, -255,255, -255,83, -255,80, -255,255, -255,64, -255,28, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,199, -255,12, -0,0, -255,143, -255,218, -255,52, -255,153, -255,225, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,244, -255,190, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,255, -255,106, -0,0, -255,163, -255,249, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,255, -255,75, -255,99, -255,255, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,60, -255,77, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,183, -255,249, -255,36, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,178, -255,255, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -255,240, -255,253, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,19, -0,0, -255,234, -255,171, -0,0, -0,0, -255,225, -255,138, -0,0, -255,18, -255,245, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,178, -255,238, -255,248, -255,212, -255,120, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,1, -255,226, -255,173, -255,170, -255,226, -255,1, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,178, -255,244, -255,213, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,245, -255,227, -255,180, -255,254, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,251, -255,195, -255,216, -255,243, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,55, -255,239, -255,175, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,105, -255,255, -255,184, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -0,0, -255,41, -255,255, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,152, -255,136, -255,136, -255,136, -255,136, -255,227, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,255, -255,43, -0,0, -255,181, -255,239, -255,90, -255,151, -255,245, -255,173, -255,33, -255,174, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,137, -255,248, -255,246, -255,137, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,255, -255,254, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,113, -255,255, -255,64, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,252, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,96, -0,0, -0,0, -255,10, -255,186, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,247, -255,101, -0,0, -255,42, -255,214, -255,240, -255,134, -255,74, -255,236, -255,239, -255,162, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -16,0, -0,0, -26,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,45, -255,255, -255,255, -255,45, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,255, -255,238, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,245, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,5, -255,219, -255,206, -255,2, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,176, -255,203, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,178, -255,132, -255,151, -255,220, -255,255, -255,182, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,206, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,210, -255,209, -0,0, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,199, -255,17, -255,211, -255,253, -255,63, -255,27, -255,255, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,80, -255,255, -255,97, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,18, -255,230, -255,253, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,255, -255,255, -255,248, -255,211, -255,115, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,247, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,255, -255,114, -0,0, -255,40, -255,244, -255,228, -255,134, -255,255, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,160, -255,234, -255,249, -255,220, -255,136, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,191, -255,230, -255,208, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,77, -255,255, -255,222, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,247, -255,191, -255,87, -255,46, -255,51, -255,95, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,223, -255,242, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,159, -0,0, -0,0, -255,92, -255,255, -255,255, -255,216, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,227, -255,255, -255,184, -255,148, -255,209, -255,255, -255,200, -255,4, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,49, -255,253, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,161, -255,255, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,149, -255,219, -255,247, -255,238, -255,201, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,145, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -49,0, -0,0, -79,182, -72,0, -79,182, -72,0, -48,5, -0,0, -48,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,207, -255,136, -255,96, -255,210, -255,249, -255,228, -255,135, -255,77, -255,237, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,223, -255,255, -255,177, -255,138, -255,174, -255,252, -255,255, -255,169, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,121, -0,0, -0,0, -255,2, -255,181, -255,255, -255,87, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,157, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,16, -255,229, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -0,0, -255,107, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,174, -255,255, -255,255, -255,180, -255,123, -255,153, -255,246, -255,255, -255,231, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,165, -255,229, -255,246, -255,216, -255,139, -255,180, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,239, -255,7, -0,0, -0,0, -0,0, -255,86, -255,244, -255,129, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,25, -255,243, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,74, -255,255, -255,236, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -255,32, -255,242, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,255, -255,108, -0,0, -0,0, -0,0, -255,46, -255,245, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,7, -0,0, -255,39, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -0,0, -255,187, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,193, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,250, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,220, -255,92, -255,188, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,230, -255,221, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,44, -255,99, -255,226, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,254, -255,205, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,238, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,64, -255,81, -255,219, -255,216, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,215, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,155, -255,231, -255,247, -255,215, -255,140, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,20, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,239, -255,72, -0,0, -255,127, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,230, -255,197, -255,99, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,239, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,160, -255,234, -255,249, -255,220, -255,136, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,226, -255,255, -255,192, -255,147, -255,198, -255,255, -255,218, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,200, -255,239, -255,237, -255,197, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,230, -255,221, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,247, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,160, -0,0, -255,77, -255,249, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,114, -255,20, -255,252, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,250, -255,17, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,144, -0,0, -0,0, -0,0, -255,2, -255,218, -255,252, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,227, -255,255, -255,184, -255,148, -255,209, -255,255, -255,200, -255,4, -0,0, -0,0, -0,0, -0,0, -255,7, -255,248, -255,239, -255,7, -0,0, -0,0, -0,0, -255,84, -255,240, -255,127, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,186, -255,233, -255,248, -255,208, -255,103, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,4, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,108, -0,0, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,163, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -255,135, -255,255, -255,146, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,131, -0,0, -0,0, -0,0, -255,156, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,234, -255,13, -0,0, -0,0, -0,0, -255,200, -255,255, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,255, -255,229, -255,150, -255,158, -255,244, -255,255, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,215, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,207, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,230, -255,17, -255,40, -255,239, -255,103, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,255, -255,31, -0,0, -255,190, -255,245, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,255, -255,108, -0,0, -0,0, -0,0, -255,45, -255,245, -255,175, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,214, -255,245, -255,20, -0,0, -0,0, -255,88, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,121, -0,0, -0,0, -255,2, -255,181, -255,255, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,122, -0,0, -0,0, -255,1, -255,175, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,254, -255,238, -255,154, -255,146, -255,220, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,136, -255,136, -255,173, -255,255, -255,205, -255,136, -255,136, -255,136, -255,2, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,235, -255,16, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,38, -255,252, -255,227, -255,5, -0,0, -0,0, -255,14, -255,240, -255,246, -255,25, -0,0, -0,0, -0,0, -0,0, -255,6, -255,246, -255,240, -255,8, -0,0, -0,0, -0,0, -255,42, -255,156, -255,90, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,255, -255,129, -0,0, -0,0, -255,84, -255,255, -255,210, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,252, -255,26, -0,0, -0,0, -255,61, -255,255, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,235, -255,80, -255,14, -255,216, -255,151, -255,56, -255,255, -255,125, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,238, -255,203, -0,0, -0,0, -255,107, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,14, -255,207, -255,255, -255,255, -255,179, -255,122, -255,152, -255,245, -255,255, -255,247, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,254, -255,132, -0,0, -255,1, -255,210, -255,227, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,239, -255,7, -0,0, -0,0, -0,0, -255,86, -255,244, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,227, -255,255, -255,183, -255,143, -255,201, -255,255, -255,196, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,255, -255,45, -0,0, -0,0, -255,10, -255,221, -255,254, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,141, -0,0, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,255, -255,95, -0,0, -0,0, -255,117, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,242, -255,243, -255,22, -255,4, -255,218, -255,255, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,251, -255,15, -0,0, -0,0, -255,1, -255,91, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,151, -255,229, -255,249, -255,220, -255,133, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,160, -0,0, -255,89, -255,255, -255,255, -255,255, -255,255, -255,255, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,255, -255,210, -255,152, -255,152, -255,171, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -255,4, -255,172, -255,95, -255,98, -255,214, -255,250, -255,229, -255,137, -255,48, -255,204, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,239, -255,14, -255,78, -255,255, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,158, -255,233, -255,250, -255,221, -255,135, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,231, -255,253, -255,14, -0,0, -0,0, -0,0, -255,79, -255,124, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,183, -255,249, -255,36, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,251, -255,211, -255,1, -255,6, -255,229, -255,245, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,255, -255,147, -255,106, -255,255, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,255, -255,211, -255,100, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,223, -255,255, -255,199, -255,158, -255,212, -255,255, -255,203, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,234, -255,120, -255,200, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,249, -255,158, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,255, -255,193, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,55, -255,239, -255,175, -0,0, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,255, -255,75, -255,99, -255,255, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,192, -0,0, -0,0, -255,112, -255,255, -255,255, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,213, -255,250, -255,235, -255,242, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,255, -255,255, -255,253, -255,187, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,133, -0,0, -0,0, -255,3, -255,162, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,205, -0,0, -0,0, -0,0, -0,0, -255,113, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,137, -255,221, -255,245, -255,213, -255,110, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,246, -255,255, -255,255, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,82, -255,255, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,172, -255,255, -255,255, -255,220, -255,127, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,113, -255,255, -255,64, -0,0, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,251, -255,195, -255,216, -255,243, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,203, -0,0, -0,0, -255,47, -255,108, -255,133, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,255, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,237, -255,234, -255,66, -255,121, -255,214, -255,255, -255,255, -255,103, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,236, -255,7, -0,0, -0,0, -0,0, -255,19, -255,249, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,127, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,195, -255,146, -255,218, -255,255, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,136, -255,151, -255,255, -255,227, -255,136, -255,136, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,254, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,150, -255,235, -255,255, -255,238, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -255,5, -255,219, -255,206, -255,2, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,245, -255,242, -255,9, -0,0, -0,0, -0,0, -255,44, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,255, -255,255, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,255, -255,173, -0,0, -0,0, -0,0, -255,92, -255,252, -255,237, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,251, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,203, -255,1, -0,0, -255,21, -255,251, -255,221, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,248, -255,239, -255,7, -0,0, -0,0, -0,0, -255,84, -255,240, -255,127, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,188, -255,251, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,101, -255,252, -255,237, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -255,80, -255,255, -255,97, -255,196, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,245, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,255, -255,141, -0,0, -0,0, -0,0, -255,51, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,235, -255,242, -255,211, -255,253, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,231, -255,33, -0,0, -0,0, -0,0, -255,215, -255,255, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,32, -255,20, -0,0, -0,0, -0,0, -255,239, -255,243, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,255, -255,122, -0,0, -0,0, -255,1, -255,175, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,148, -255,96, -0,0, -0,0, -0,0, -0,0, -255,172, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,191, -255,230, -255,208, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,218, -255,255, -255,199, -255,141, -255,155, -255,234, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,255, -255,126, -255,71, -255,255, -255,199, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,255, -255,249, -255,172, -255,88, -255,73, -255,252, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,20, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,98, -255,255, -255,155, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,136, -255,151, -255,255, -255,227, -255,136, -255,136, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,227, -255,255, -255,183, -255,143, -255,201, -255,255, -255,196, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,253, -255,226, -255,17, -0,0, -0,0, -255,3, -255,204, -255,255, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -255,49, -255,253, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,142, -255,224, -255,250, -255,235, -255,183, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,251, -255,234, -255,12, -0,0, -255,192, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,96, -255,208, -255,255, -255,255, -255,255, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,247, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,255, -255,255, -255,184, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,158, -255,233, -255,250, -255,221, -255,135, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,255, -255,232, -255,154, -255,142, -255,206, -255,255, -255,192, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,157, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,187, -255,255, -255,111, -0,0, -0,0, -255,56, -255,255, -255,232, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,139, -255,244, -255,255, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,248, -255,237, -255,7, -0,0, -0,0, -0,0, -255,18, -255,249, -255,233, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,207, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,135, -255,205, -255,253, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,184, -255,232, -255,244, -255,212, -255,120, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,25, -255,243, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,81, -255,255, -255,224, -255,6, -0,0, -0,0, -0,0, -255,176, -255,255, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,88, -255,55, -0,0, -0,0, -0,0, -255,65, -255,255, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,255, -255,131, -0,0, -0,0, -255,2, -255,157, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,110, -255,215, -255,246, -255,218, -255,121, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,150, -255,231, -255,247, -255,212, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,237, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,231, -255,243, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,211, -255,6, -0,0, -0,0, -255,63, -255,255, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,223, -255,255, -255,198, -255,157, -255,210, -255,255, -255,204, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,255, -255,222, -255,148, -255,217, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,216, -255,255, -255,193, -255,149, -255,188, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,174, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,128, -255,221, -255,246, -255,212, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,29, -0,0, -0,0, -0,0, -255,193, -255,255, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,255, -255,216, -255,147, -255,158, -255,240, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,152, -255,230, -255,250, -255,222, -255,135, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,255, -255,33, -0,0, -255,21, -255,249, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,246, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,184, -255,132, -255,212, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,183, -0,0, -0,0, -255,13, -255,235, -255,250, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,123, -255,211, -255,244, -255,237, -255,193, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,227, -255,252, -255,3, -0,0, -0,0, -255,232, -255,251, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,247, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,235, -255,203, -255,165, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,160, -255,2, -0,0, -255,55, -255,255, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,214, -255,255, -255,187, -255,142, -255,215, -255,255, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,7, -0,0, -255,39, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,255, -255,119, -255,11, -255,96, -255,255, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,255, -255,224, -255,135, -255,222, -255,247, -255,188, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,171, -255,244, -255,37, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,166, -255,228, -255,253, -255,255, -255,255, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,146, -255,224, -255,245, -255,210, -255,104, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,136, -255,225, -255,248, -255,214, -255,111, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,255, -255,220, -255,92, -255,188, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,149, -255,237, -255,238, -255,184, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,98, -255,216, -255,249, -255,221, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,213, -255,135, -255,108, -255,208, -255,33, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,173, -255,255, -255,255, -255,255, -255,188, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,255, -255,210, -255,133, -255,179, -255,255, -255,216, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,255, -255,98, -0,0, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,221, -255,252, -255,111, -255,50, -255,87, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,230, -255,221, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,255, -255,201, -255,147, -255,221, -255,255, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,64, -255,81, -255,219, -255,216, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,195, -255,163, -255,253, -255,229, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,255, -255,223, -255,150, -255,216, -255,255, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,237, -255,255, -255,255, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,246, -255,216, -255,148, -255,208, -255,250, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,223, -255,10, -0,0, -0,0, -255,175, -255,255, -255,81, -0,0, -0,0, -0,0, -0,0, -255,20, -255,234, -255,171, -0,0, -0,0, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,169, -0,0, -0,0, -255,49, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,215, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,255, -255,205, -255,2, -0,0, -255,26, -255,250, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,249, -255,229, -255,4, -0,0, -255,148, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,250, -255,27, -0,0, -255,16, -255,241, -255,237, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,206, -255,118, -255,97, -255,255, -255,205, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,250, -255,7, -255,62, -255,255, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,214, -255,248, -255,215, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -255,12, -255,240, -255,229, -255,11, -0,0, -255,5, -255,214, -255,249, -255,26, -0,0, -0,0, -0,0, -0,0, -255,19, -255,255, -255,210, -0,0, -0,0, -0,0, -255,101, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,131, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,180, -0,0, -0,0, -0,0, -0,0, -255,75, -255,255, -255,161, -0,0, -0,0, -255,141, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,164, -255,94, -0,0, -0,0, -0,0, -255,225, -255,254, -255,3, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,195, -255,114, -255,228, -255,243, -255,180, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -255,180, -0,0, -0,0, -255,55, -255,136, -255,61, -0,0, -0,0, -0,0, -0,0, -255,23, -255,255, -255,204, -0,0, -0,0, -0,0, -255,181, -255,255, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,219, -255,249, -255,222, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,128, -255,221, -255,246, -255,212, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,255, -255,59, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,254, -255,225, -255,167, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,206, -0,0, -255,114, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,255, -255,233, -255,151, -255,234, -255,254, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,136, -255,136, -255,136, -255,136, -255,136, -255,207, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -255,51, -255,255, -255,178, -0,0, -0,0, -0,0, -255,154, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -255,3, -255,247, -255,238, -255,2, -0,0, -0,0, -255,106, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -255,71, -255,136, -255,136, -255,136, -255,136, -255,211, -255,255, -255,167, -255,95, -0,0, -0,0, -0,0, -0,0, -255,21, -255,244, -255,250, -255,154, -255,185, -255,248, -255,255, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,128, -255,221, -255,246, -255,212, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,253, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,250, -255,226, -255,153, -255,206, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,185, -0,0, -0,0, -0,0, -255,161, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,219, -255,151, -255,215, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,184, -255,132, -255,212, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,144, -255,230, -255,249, -255,192, -255,167, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,152, -255,136, -255,138, -255,178, -255,254, -255,240, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,154, -0,0, -255,166, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,182, -255,255, -255,63, -0,0, -255,90, -255,255, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,245, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,225, -255,7, -0,0, -255,2, -255,208, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,85, -0,0, -0,0, -255,188, -255,255, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,214, -255,248, -255,200, -255,63, -255,251, -255,229, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,184, -255,132, -255,212, -255,255, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,178, -255,255, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,241, -255,23, -0,0, -255,9, -255,241, -255,248, -255,1, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,255, -255,187, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,184, -0,0, -0,0, -0,0, -255,160, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -255,13, -255,244, -255,239, -255,18, -0,0, -255,14, -255,231, -255,250, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,160, -255,2, -0,0, -255,55, -255,255, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,189, -255,255, -255,198, -255,129, -255,159, -255,248, -255,255, -255,150, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,126, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -255,224, -255,251, -255,2, -0,0, -255,84, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,234, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,255, -255,209, -255,142, -255,200, -255,255, -255,200, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,246, -255,247, -255,156, -255,184, -255,255, -255,196, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,160, -255,2, -0,0, -255,55, -255,255, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,210, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,255, -255,255, -255,255, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,184, -0,0, -0,0, -0,0, -255,160, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,167, -0,0, -0,0, -0,0, -255,152, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,166, -255,228, -255,253, -255,255, -255,255, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,201, -255,3, -0,0, -0,0, -255,91, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,59, -255,255, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,82, -255,255, -255,103, -255,70, -255,255, -255,115, -255,64, -255,12, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -0,0, -255,184, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,128, -255,217, -255,246, -255,221, -255,141, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,189, -255,246, -255,238, -255,158, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,166, -255,228, -255,253, -255,255, -255,255, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,255, -255,202, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,208, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -255,48, -255,146, -255,255, -255,234, -255,136, -255,136, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,255, -255,185, -0,0, -0,0, -0,0, -255,161, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,85, -255,255, -255,144, -0,0, -0,0, -0,0, -255,128, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -255,11, -255,221, -255,252, -255,111, -255,50, -255,87, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,115, -0,0, -0,0, -0,0, -255,76, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,243, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -255,121, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,255, -255,15, -255,45, -255,255, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -255,28, -255,255, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,233, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,221, -255,252, -255,111, -255,50, -255,87, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,249, -255,222, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,208, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -255,3, -255,253, -255,224, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,204, -0,0, -0,0, -0,0, -255,180, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,165, -0,0, -0,0, -0,0, -255,151, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,169, -0,0, -0,0, -255,49, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,255, -255,113, -0,0, -0,0, -0,0, -255,110, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -255,231, -255,254, -255,10, -0,0, -0,0, -0,0, -255,26, -255,255, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,152, -255,136, -255,137, -255,175, -255,254, -255,241, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,103, -255,229, -0,0, -255,87, -255,243, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -255,38, -255,255, -255,219, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,255, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,169, -0,0, -0,0, -255,49, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,239, -255,238, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,208, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,227, -255,249, -255,15, -0,0, -255,16, -255,230, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,255, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,221, -255,250, -255,26, -0,0, -255,13, -255,240, -255,239, -255,6, -0,0, -0,0, -0,0, -0,0, -255,13, -255,245, -255,237, -255,15, -0,0, -255,11, -255,229, -255,251, -255,24, -0,0, -0,0, -0,0, -0,0, -255,75, -255,255, -255,161, -0,0, -0,0, -255,141, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,255, -255,203, -255,5, -0,0, -255,9, -255,211, -255,255, -255,49, -0,0, -0,0, -0,0, -0,0, -255,175, -255,255, -255,104, -0,0, -0,0, -0,0, -255,125, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,254, -255,227, -255,169, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -0,0, -255,189, -255,255, -255,171, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,255, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -70,0, -0,0, -79,182, -72,0, -79,182, -72,0, -112,5, -0,0, -112,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,255, -255,161, -0,0, -0,0, -255,141, -255,255, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,223, -255,255, -255,186, -255,132, -255,132, -255,132, -255,132, -255,53, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,208, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,206, -255,148, -255,217, -255,249, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,255, -255,168, -255,132, -255,132, -255,132, -255,132, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,98, -255,255, -255,221, -255,145, -255,211, -255,255, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,255, -255,215, -255,146, -255,211, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,244, -255,250, -255,154, -255,185, -255,248, -255,255, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,255, -255,208, -255,145, -255,210, -255,255, -255,150, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,243, -255,254, -255,177, -255,141, -255,188, -255,255, -255,235, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,60, -255,212, -255,161, -255,60, -255,200, -255,173, -255,60, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -0,0, -255,18, -255,207, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,255, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,244, -255,250, -255,154, -255,185, -255,248, -255,255, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -255,208, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,161, -255,238, -255,236, -255,137, -255,165, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,216, -255,250, -255,223, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,220, -255,250, -255,224, -255,123, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,214, -255,248, -255,200, -255,63, -255,251, -255,229, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,130, -255,224, -255,250, -255,220, -255,116, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,169, -255,235, -255,251, -255,229, -255,158, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,235, -255,96, -0,0, -255,219, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -255,21, -255,233, -255,254, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,238, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,20, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,219, -255,249, -255,222, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,210, -255,255, -255,238, -255,149, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,214, -255,248, -255,200, -255,63, -255,251, -255,229, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,56, -255,7, -255,252, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,230, -255,221, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,247, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,255, -255,219, -255,151, -255,215, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,255, -255,235, -255,152, -255,205, -255,255, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,16, -255,44, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -255,12, -255,210, -255,147, -255,167, -255,255, -255,218, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,215, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,207, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,244, -255,239, -255,18, -0,0, -255,14, -255,231, -255,250, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -255,171, -255,255, -255,71, -0,0, -255,6, -255,225, -255,254, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,244, -255,34, -255,208, -255,244, -255,238, -255,181, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,167, -0,0, -0,0, -0,0, -255,152, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,186, -255,255, -255,47, -0,0, -0,0, -255,114, -255,168, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,85, -255,255, -255,144, -0,0, -0,0, -0,0, -255,128, -255,255, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,255, -255,187, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,188, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,40, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,20, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,123, -255,226, -255,249, -255,209, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,165, -0,0, -0,0, -0,0, -255,151, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,187, -255,255, -255,250, -255,162, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,152, -255,26, -0,0, -255,142, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,250, -255,202, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,247, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,219, -255,249, -255,220, -255,245, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,255, -255,213, -255,152, -255,231, -255,255, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,249, -255,223, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,13, -255,245, -255,237, -255,15, -0,0, -255,11, -255,229, -255,251, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,88, -255,202, -255,255, -255,248, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,255, -255,44, -0,0, -255,240, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,29, -255,188, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,200, -255,207, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,255, -255,219, -255,147, -255,229, -255,255, -255,131, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,252, -255,232, -255,13, -0,0, -255,39, -255,253, -255,217, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,245, -255,70, -255,144, -255,234, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,255, -255,255, -255,250, -255,219, -255,146, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,255, -255,215, -255,146, -255,211, -255,255, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,248, -255,243, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,220, -0,0, -0,0, -0,0, -255,208, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,244, -255,190, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,255, -255,8, -0,0, -0,0, -0,0, -0,0, -255,13, -255,245, -255,239, -255,18, -255,16, -255,237, -255,235, -255,249, -255,19, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,157, -0,0, -0,0, -0,0, -255,205, -255,255, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,20, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,255, -255,152, -255,136, -255,141, -255,198, -255,255, -255,214, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,128, -255,221, -255,246, -255,212, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,195, -255,114, -255,228, -255,243, -255,180, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,249, -255,223, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -255,244, -255,244, -0,0, -0,0, -0,0, -0,0, -255,4, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -}; diff --git a/scene/resources/default_theme/font_lodpi.inc b/scene/resources/default_theme/font_lodpi.inc new file mode 100644 index 0000000000..8eae45a8a7 --- /dev/null +++ b/scene/resources/default_theme/font_lodpi.inc @@ -0,0 +1,13115 @@ +static const int _lodpi_font_height=14; +static const int _lodpi_font_ascent=11; +static const int _lodpi_font_charcount=191; +static const int _lodpi_font_charrects[191][8]={ +/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ +{64,72,34,10,11,1,1,12}, +{224,85,180,5,11,0,1,7}, +{192,32,16,11,13,-2,-1,9}, +{96,2,216,3,2,0,3,8}, +{160,1734439808,0,0,0,11,0,4}, +{32,0,0,0,0,11,0,4}, +{33,65,234,2,10,1,1,4}, +{225,112,169,5,11,0,1,7}, +{193,17,16,11,13,-2,-1,9}, +{161,2,222,2,11,3,1,4}, +{65,2,16,11,10,1,-1,9}, +{97,76,188,5,8,3,1,7}, +{98,102,165,6,11,0,1,8}, +{226,72,143,6,11,0,1,7}, +{194,113,2,11,13,-2,-1,9}, +{66,46,109,7,10,1,1,9}, +{162,12,136,6,10,1,1,8}, +{34,49,187,5,4,1,1,6}, +{35,78,66,8,10,1,0,9}, +{163,22,167,6,10,1,1,8}, +{195,53,2,11,14,-3,-1,9}, +{227,2,155,6,12,-1,1,7}, +{67,68,115,7,10,1,1,8}, +{99,40,179,5,8,3,1,7}, +{228,121,169,5,11,0,1,7}, +{196,98,2,11,13,-2,-1,9}, +{36,102,137,6,12,0,1,8}, +{100,82,150,6,11,0,1,8}, +{68,90,66,8,10,1,1,10}, +{164,14,79,8,7,3,0,8}, +{37,2,30,10,10,1,1,12}, +{69,29,191,5,10,1,1,7}, +{165,79,98,7,10,1,0,8}, +{229,20,196,5,12,-1,1,7}, +{197,83,2,11,12,-1,-1,9}, +{101,32,124,6,8,3,1,8}, +{38,67,49,9,10,1,1,10}, +{70,101,105,6,10,1,1,7}, +{198,21,2,12,10,1,-1,12}, +{166,95,228,2,14,0,3,7}, +{102,2,201,5,11,0,0,4}, +{230,58,34,10,8,3,1,12}, +{71,66,65,8,10,1,1,10}, +{231,2,186,5,11,3,1,7}, +{199,57,97,7,13,1,1,8}, +{103,13,107,7,11,3,1,7}, +{167,112,131,6,11,0,0,7}, +{39,119,219,2,4,1,1,3}, +{72,54,65,8,10,1,1,10}, +{232,62,143,6,11,0,1,8}, +{200,47,195,5,13,-2,1,7}, +{40,93,212,4,12,1,1,4}, +{104,72,158,6,11,0,1,8}, +{168,77,217,4,2,0,2,8}, +{73,38,191,5,10,1,0,5}, +{169,44,34,10,10,1,1,12}, +{233,52,142,6,11,0,1,8}, +{201,56,197,5,13,-2,1,7}, +{41,51,226,3,12,1,0,4}, +{105,109,213,3,11,0,0,4}, +{106,101,213,4,14,0,-1,4}, +{74,92,195,5,13,1,-2,3}, +{202,65,202,5,13,-2,1,7}, +{42,108,80,7,6,0,0,8}, +{170,29,205,4,5,1,0,5}, +{234,12,181,6,11,0,1,8}, +{171,22,181,5,6,4,1,7}, +{43,101,94,7,7,3,0,8}, +{107,112,92,7,11,0,1,7}, +{203,83,200,5,13,-2,1,7}, +{235,2,171,6,11,0,1,8}, +{75,102,66,8,10,1,1,8}, +{44,107,231,2,3,9,1,4}, +{172,2,104,7,4,6,0,8}, +{108,113,228,2,11,0,1,4}, +{204,101,196,5,13,-2,0,5}, +{236,30,214,3,11,0,0,4}, +{76,22,124,6,10,1,1,7}, +{173,16,229,3,2,7,1,5}, +{45,123,201,3,2,7,1,5}, +{109,68,2,11,8,3,1,13}, +{205,11,211,5,13,-2,0,5}, +{237,37,214,3,11,0,1,4}, +{77,62,20,10,10,1,1,12}, +{46,101,231,2,2,9,1,4}, +{110,111,107,6,8,3,1,8}, +{206,20,212,5,13,-2,0,5}, +{238,11,196,5,11,0,-1,4}, +{174,30,33,10,10,1,1,12}, +{78,2,79,8,10,1,1,10}, +{175,35,111,7,1,-1,0,7}, +{111,102,153,6,8,3,1,8}, +{207,119,184,5,13,-2,0,5}, +{239,69,219,4,11,0,0,4}, +{79,41,66,9,10,1,1,11}, +{47,90,105,7,10,1,-1,5}, +{176,61,219,4,4,1,1,6}, +{112,32,150,6,11,3,1,8}, +{240,82,165,6,11,0,1,8}, +{208,86,33,9,10,1,0,10}, +{80,52,128,6,10,1,1,8}, +{48,42,135,6,10,1,1,8}, +{177,46,97,7,8,3,0,8}, +{113,22,152,6,11,3,1,8}, +{241,2,112,6,12,-1,1,8}, +{81,15,59,9,13,1,1,11}, +{209,74,80,8,14,-3,1,10}, +{49,45,212,4,10,1,2,8}, +{178,58,187,5,6,1,0,5}, +{114,85,217,4,8,3,1,5}, +{210,2,62,9,13,-2,1,11}, +{242,62,165,6,11,0,1,8}, +{82,35,97,7,10,1,1,8}, +{50,57,114,7,10,1,1,8}, +{179,53,214,4,6,1,0,5}, +{115,112,146,6,8,3,0,7}, +{211,106,49,9,13,-2,1,11}, +{243,52,172,6,11,0,1,8}, +{83,24,96,7,10,1,0,7}, +{51,22,138,6,10,1,1,8}, +{180,9,228,3,2,0,3,8}, +{116,67,188,5,10,1,0,5}, +{212,93,49,9,13,-2,1,11}, +{244,42,164,6,11,0,1,8}, +{84,13,93,7,10,1,0,7}, +{52,24,110,7,10,1,1,8}, +{53,92,119,6,10,1,1,8}, +{85,114,66,8,10,1,1,10}, +{213,2,44,9,14,-3,1,11}, +{117,42,123,6,8,3,1,8}, +{181,2,140,6,11,3,1,8}, +{245,12,165,6,12,-1,1,8}, +{54,82,121,6,10,1,1,8}, +{86,76,18,10,10,1,-1,8}, +{246,72,173,6,11,0,1,8}, +{214,80,49,9,13,-2,1,11}, +{182,68,98,7,13,0,1,9}, +{118,15,47,9,8,3,-1,7}, +{55,72,129,6,10,1,1,8}, +{87,2,2,15,10,1,-1,13}, +{119,37,2,12,8,3,-1,10}, +{247,90,94,7,7,3,0,8}, +{215,2,93,7,7,3,0,8}, +{183,77,223,2,2,5,1,4}, +{56,62,129,6,10,1,1,8}, +{88,90,19,10,10,1,-1,8}, +{216,99,33,9,12,0,1,11}, +{248,2,128,6,8,3,1,8}, +{120,119,80,7,8,3,0,7}, +{184,116,212,3,3,11,0,3}, +{89,28,65,9,10,1,-1,7}, +{217,38,80,8,13,-2,1,10}, +{249,52,157,6,11,0,1,8}, +{121,112,33,9,11,3,-1,7}, +{57,12,122,6,10,1,1,8}, +{185,23,229,3,6,1,0,5}, +{218,26,79,8,13,-2,1,10}, +{250,42,149,6,11,0,1,8}, +{90,32,136,6,10,1,1,8}, +{122,112,119,6,8,3,1,7}, +{58,89,229,2,8,3,1,4}, +{186,37,205,4,5,1,0,5}, +{219,50,80,8,13,-2,1,10}, +{91,58,227,3,12,1,1,4}, +{123,103,180,5,12,1,0,5}, +{251,12,150,6,11,0,1,8}, +{59,71,234,2,9,3,1,4}, +{187,31,181,5,6,4,1,7}, +{188,16,33,10,10,1,0,10}, +{124,83,229,2,14,0,3,7}, +{220,62,79,8,13,-2,1,10}, +{252,92,133,6,11,0,1,8}, +{92,97,80,7,10,1,-1,5}, +{60,92,153,6,7,3,1,8}, +{189,47,20,11,10,1,0,10}, +{253,28,47,9,14,0,-1,7}, +{221,54,48,9,13,-2,-1,7}, +{93,44,226,3,12,1,0,4}, +{125,110,196,5,12,1,0,5}, +{61,79,112,7,5,4,0,8}, +{190,104,19,10,10,1,0,10}, +{222,32,165,6,10,1,1,8}, +{254,102,119,6,14,0,1,8}, +{62,112,158,6,7,3,1,8}, +{94,86,80,7,6,1,0,7}, +{126,62,158,6,3,5,1,8}, +{223,82,135,6,11,0,1,8}, +{255,41,48,9,14,0,-1,7}, +{191,94,180,5,11,3,0,6}, +{63,74,202,5,10,1,0,6}, +{95,92,148,6,1,12,0,6}, +}; +static const int _lodpi_font_kerning_pair_count=0; +static const int _lodpi_font_kerning_pairs[1][3]={ +{0,0,0}, +}; +static const int _lodpi_font_img_width=128; +static const int _lodpi_font_img_height=256; +static const int _lodpi_font_img_data_size=12909; +static const unsigned char _lodpi_font_img_data[12909]={ +137, +80, +78, +71, +13, +10, +26, +10, +0, +0, +0, +13, +73, +72, +68, +82, +0, +0, +0, +128, +0, +0, +1, +0, +8, +6, +0, +0, +0, +123, +249, +126, +167, +0, +0, +32, +0, +73, +68, +65, +84, +120, +156, +237, +157, +119, +184, +30, +85, +181, +255, +191, +59, +128, +8, +210, +155, +82, +77, +232, +221, +2, +210, +164, +132, +26, +154, +5, +164, +131, +63, +224, +98, +65, +4, +68, +46, +8, +42, +23, +84, +80, +41, +94, +16, +21, +17, +197, +10, +22, +80, +17, +21, +4, +5, +65, +16, +41, +42, +185, +116, +19, +106, +128, +80, +46, +32, +33, +148, +208, +18, +62, +191, +63, +214, +122, +115, +230, +204, +217, +51, +179, +103, +222, +121, +223, +115, +146, +123, +190, +207, +115, +158, +51, +101, +237, +50, +243, +174, +217, +123, +237, +213, +182, +52, +138, +81, +140, +98, +20, +2, +150, +3, +222, +0, +54, +207, +93, +255, +32, +134, +247, +231, +174, +111, +237, +244, +203, +38, +212, +61, +31, +48, +149, +2, +68, +232, +87, +242, +91, +107, +102, +174, +253, +28, +184, +58, +115, +190, +178, +211, +172, +88, +243, +57, +199, +84, +220, +7, +216, +17, +184, +21, +120, +21, +184, +23, +216, +9, +56, +192, +143, +103, +0, +55, +1, +235, +36, +180, +245, +117, +224, +122, +224, +244, +58, +125, +244, +178, +247, +0, +239, +4, +222, +13, +220, +85, +179, +236, +55, +253, +57, +190, +89, +69, +59, +251, +101, +132, +16, +30, +151, +116, +171, +164, +157, +114, +52, +59, +74, +186, +94, +210, +118, +185, +235, +59, +73, +250, +123, +8, +225, +137, +132, +62, +237, +39, +233, +113, +73, +11, +248, +249, +206, +126, +188, +64, +230, +218, +108, +132, +16, +30, +145, +116, +175, +164, +205, +252, +129, +230, +149, +180, +161, +164, +21, +129, +133, +156, +108, +115, +73, +147, +67, +8, +143, +150, +53, +12, +28, +9, +76, +3, +206, +4, +198, +74, +186, +49, +161, +191, +103, +75, +58, +76, +210, +242, +178, +103, +191, +88, +210, +17, +146, +118, +151, +52, +78, +210, +51, +146, +190, +157, +80, +207, +102, +33, +132, +45, +37, +109, +157, +64, +155, +199, +204, +204, +241, +172, +212, +66, +192, +119, +37, +45, +41, +105, +13, +73, +75, +251, +121, +114, +225, +19, +128, +137, +185, +107, +15, +1, +59, +3, +255, +202, +93, +191, +11, +248, +108, +98, +189, +119, +2, +251, +250, +49, +64, +158, +153, +98, +101, +206, +1, +206, +247, +227, +109, +128, +75, +129, +31, +117, +70, +34, +224, +188, +20, +14, +7, +110, +241, +209, +226, +76, +224, +57, +224, +136, +10, +122, +128, +79, +100, +206, +215, +205, +247, +217, +71, +136, +23, +18, +218, +190, +223, +203, +222, +93, +69, +59, +34, +0, +172, +159, +29, +214, +129, +53, +128, +71, +252, +120, +42, +176, +188, +31, +175, +232, +15, +182, +118, +66, +157, +59, +1, +143, +250, +87, +92, +135, +1, +62, +216, +121, +113, +192, +89, +192, +97, +192, +65, +192, +185, +126, +237, +110, +114, +211, +82, +65, +61, +165, +67, +126, +132, +30, +96, +219, +204, +249, +88, +191, +54, +54, +115, +109, +115, +24, +58, +117, +69, +234, +186, +12, +248, +53, +240, +251, +58, +125, +240, +178, +59, +121, +187, +249, +17, +185, +167, +101, +59, +95, +252, +193, +126, +124, +100, +230, +43, +252, +17, +112, +144, +31, +127, +28, +184, +47, +177, +190, +107, +128, +207, +100, +206, +135, +160, +160, +220, +162, +192, +107, +254, +255, +62, +76, +46, +88, +14, +120, +16, +88, +204, +239, +45, +146, +216, +135, +228, +23, +226, +116, +155, +103, +206, +59, +12, +176, +66, +230, +90, +37, +3, +0, +227, +128, +151, +252, +99, +121, +41, +203, +64, +137, +125, +238, +134, +121, +26, +151, +21, +112, +54, +112, +177, +31, +255, +1, +216, +211, +143, +247, +7, +46, +244, +227, +75, +129, +175, +37, +212, +245, +110, +224, +5, +96, +177, +204, +53, +252, +7, +121, +115, +231, +175, +164, +252, +77, +192, +129, +192, +29, +153, +107, +119, +0, +7, +3, +55, +212, +120, +166, +228, +23, +210, +34, +3, +156, +14, +252, +218, +143, +47, +1, +78, +171, +209, +223, +198, +204, +211, +45, +227, +9, +216, +22, +19, +154, +22, +0, +158, +7, +22, +247, +235, +111, +5, +30, +199, +36, +250, +231, +201, +173, +22, +10, +234, +250, +121, +236, +139, +39, +97, +10, +240, +242, +39, +3, +55, +0, +95, +201, +92, +59, +195, +25, +227, +164, +196, +58, +106, +189, +144, +54, +24, +192, +25, +251, +25, +96, +15, +63, +223, +195, +207, +11, +153, +61, +87, +190, +27, +230, +105, +92, +182, +83, +193, +188, +206, +0, +31, +7, +110, +206, +221, +187, +29, +27, +9, +158, +162, +122, +57, +53, +22, +27, +166, +215, +206, +126, +237, +53, +25, +96, +75, +167, +223, +44, +115, +109, +187, +252, +181, +138, +58, +106, +189, +144, +150, +24, +224, +64, +255, +72, +22, +240, +243, +55, +3, +211, +129, +3, +19, +250, +219, +152, +121, +186, +101, +188, +108, +69, +63, +195, +164, +231, +47, +230, +174, +127, +205, +191, +190, +31, +36, +212, +113, +54, +240, +219, +200, +117, +72, +156, +2, +186, +69, +107, +47, +164, +126, +187, +127, +39, +142, +91, +18, +202, +118, +195, +60, +141, +203, +230, +43, +218, +219, +59, +252, +222, +220, +245, +9, +126, +253, +3, +21, +229, +23, +7, +94, +4, +198, +71, +238, +13, +65, +173, +206, +213, +64, +107, +47, +164, +94, +155, +239, +1, +102, +97, +43, +168, +236, +200, +183, +154, +95, +223, +176, +162, +124, +55, +204, +211, +184, +236, +92, +137, +225, +120, +33, +216, +106, +233, +55, +5, +247, +46, +5, +126, +88, +82, +182, +49, +243, +116, +203, +120, +115, +29, +134, +227, +133, +0, +75, +2, +47, +3, +91, +21, +220, +223, +214, +239, +47, +89, +112, +191, +27, +230, +105, +92, +118, +174, +196, +156, +246, +66, +186, +97, +158, +110, +25, +111, +174, +195, +232, +11, +105, +1, +116, +163, +78, +180, +242, +75, +1, +255, +11, +252, +180, +102, +185, +159, +123, +185, +165, +154, +180, +59, +138, +150, +64, +55, +234, +68, +43, +127, +5, +166, +195, +175, +171, +139, +159, +7, +51, +163, +254, +161, +73, +187, +163, +104, +1, +116, +171, +78, +156, +139, +1, +44, +3, +188, +14, +108, +19, +185, +183, +131, +223, +91, +102, +56, +250, +214, +4, +69, +95, +231, +39, +36, +93, +233, +182, +246, +63, +250, +121, +50, +186, +153, +62, +186, +157, +122, +122, +141, +16, +194, +83, +146, +174, +146, +180, +103, +228, +246, +158, +146, +254, +228, +52, +131, +0, +44, +136, +57, +121, +124, +46, +114, +239, +72, +191, +183, +96, +228, +222, +217, +152, +129, +238, +62, +224, +204, +204, +245, +177, +152, +133, +54, +201, +32, +150, +12, +90, +208, +158, +117, +51, +125, +212, +41, +235, +194, +222, +143, +129, +215, +114, +215, +43, +95, +142, +51, +217, +171, +184, +173, +35, +119, +239, +77, +192, +211, +80, +104, +169, +220, +215, +229, +148, +121, +50, +215, +230, +245, +50, +251, +148, +180, +185, +30, +102, +28, +219, +58, +115, +109, +99, +204, +79, +97, +221, +130, +50, +107, +250, +180, +184, +46, +240, +104, +230, +250, +133, +192, +167, +138, +218, +106, +12, +186, +212, +158, +117, +51, +125, +212, +45, +11, +252, +2, +179, +77, +204, +200, +93, +175, +124, +57, +206, +0, +55, +147, +113, +254, +200, +220, +219, +3, +184, +177, +132, +1, +22, +244, +119, +180, +77, +230, +218, +118, +217, +247, +86, +210, +238, +199, +128, +39, +129, +101, +157, +129, +31, +6, +62, +86, +81, +230, +58, +103, +174, +143, +248, +249, +187, +48, +103, +147, +55, +149, +149, +107, +4, +186, +212, +158, +49, +12, +150, +44, +96, +102, +230, +56, +233, +229, +248, +51, +29, +79, +206, +224, +229, +247, +254, +0, +28, +81, +196, +0, +78, +243, +35, +220, +57, +197, +207, +207, +3, +126, +148, +216, +223, +95, +96, +190, +130, +127, +0, +126, +145, +88, +102, +89, +224, +223, +126, +252, +39, +220, +195, +170, +85, +208, +189, +30, +123, +88, +44, +89, +57, +6, +72, +122, +57, +206, +0, +219, +98, +243, +235, +26, +153, +235, +203, +3, +255, +196, +220, +208, +202, +24, +96, +59, +124, +26, +240, +191, +167, +200, +120, +18, +85, +180, +189, +48, +54, +69, +61, +69, +197, +28, +142, +59, +189, +2, +107, +97, +158, +85, +219, +99, +14, +171, +1, +27, +253, +94, +43, +43, +95, +11, +116, +169, +61, +99, +152, +44, +89, +29, +6, +200, +188, +156, +147, +128, +73, +216, +240, +26, +157, +10, +156, +1, +182, +195, +124, +14, +190, +156, +185, +254, +121, +224, +112, +191, +87, +198, +0, +99, +128, +199, +156, +81, +182, +246, +31, +52, +105, +201, +235, +31, +218, +116, +108, +154, +27, +178, +154, +200, +209, +222, +130, +9, +128, +119, +2, +239, +243, +231, +219, +14, +88, +221, +127, +175, +25, +101, +229, +147, +65, +11, +218, +51, +134, +201, +146, +5, +204, +244, +47, +162, +243, +114, +54, +197, +28, +90, +22, +3, +166, +23, +148, +233, +48, +192, +106, +206, +40, +99, +188, +142, +187, +49, +107, +102, +41, +3, +120, +29, +103, +96, +186, +142, +179, +73, +116, +253, +118, +198, +254, +23, +240, +73, +224, +88, +108, +4, +90, +168, +186, +164, +4, +236, +7, +252, +17, +152, +31, +184, +26, +120, +27, +240, +122, +74, +217, +158, +131, +97, +182, +100, +117, +94, +78, +238, +218, +4, +224, +138, +2, +122, +112, +199, +20, +76, +224, +219, +22, +24, +143, +207, +201, +137, +12, +240, +14, +108, +249, +54, +25, +88, +191, +170, +143, +94, +230, +76, +224, +42, +103, +182, +121, +128, +127, +0, +149, +46, +230, +216, +202, +228, +126, +44, +86, +224, +28, +6, +166, +202, +153, +85, +101, +251, +2, +134, +209, +146, +149, +125, +57, +153, +107, +155, +2, +215, +82, +108, +121, +203, +50, +192, +161, +216, +114, +242, +2, +96, +123, +191, +86, +201, +0, +78, +119, +59, +112, +123, +21, +157, +211, +110, +9, +60, +75, +38, +152, +5, +243, +196, +126, +149, +204, +210, +176, +160, +236, +81, +192, +5, +126, +252, +47, +108, +138, +155, +228, +207, +49, +188, +90, +83, +134, +217, +146, +149, +125, +57, +126, +190, +13, +112, +17, +176, +112, +73, +153, +44, +3, +44, +14, +252, +219, +95, +236, +24, +191, +150, +196, +0, +169, +0, +222, +2, +60, +64, +68, +166, +193, +228, +144, +7, +129, +183, +20, +148, +93, +4, +147, +55, +198, +70, +238, +141, +140, +17, +96, +184, +16, +123, +57, +206, +48, +247, +101, +190, +146, +141, +34, +229, +102, +51, +128, +159, +255, +146, +140, +11, +92, +219, +12, +48, +226, +1, +108, +229, +28, +122, +47, +176, +113, +230, +250, +242, +152, +144, +212, +174, +202, +113, +20, +35, +11, +152, +20, +190, +13, +166, +139, +191, +46, +115, +253, +7, +192, +145, +195, +217, +183, +81, +244, +1, +216, +154, +244, +45, +192, +66, +248, +210, +9, +211, +63, +223, +75, +47, +84, +142, +163, +24, +89, +192, +140, +20, +29, +6, +120, +222, +175, +93, +78, +137, +113, +195, +105, +26, +27, +100, +156, +110, +39, +204, +0, +116, +149, +255, +93, +6, +76, +232, +254, +137, +134, +31, +12, +198, +12, +44, +170, +233, +68, +42, +236, +5, +5, +117, +189, +189, +224, +250, +82, +190, +138, +200, +135, +245, +111, +130, +197, +101, +44, +157, +218, +192, +13, +153, +41, +224, +111, +216, +154, +248, +159, +152, +150, +107, +136, +108, +144, +41, +215, +141, +65, +230, +100, +224, +123, +89, +9, +31, +88, +218, +175, +149, +70, +254, +212, +101, +28, +111, +107, +50, +240, +138, +255, +159, +0, +124, +26, +51, +204, +60, +5, +156, +75, +196, +28, +155, +41, +191, +14, +240, +83, +23, +56, +159, +198, +150, +157, +167, +149, +49, +184, +255, +240, +157, +24, +136, +177, +192, +7, +48, +101, +213, +223, +139, +218, +194, +116, +254, +223, +243, +118, +94, +5, +166, +248, +52, +252, +34, +176, +92, +65, +153, +139, +240, +24, +206, +204, +181, +115, +113, +187, +74, +18, +128, +205, +48, +201, +249, +126, +96, +139, +140, +76, +16, +149, +13, +34, +229, +107, +25, +100, +128, +93, +24, +80, +186, +128, +169, +70, +31, +7, +142, +245, +107, +223, +43, +250, +65, +155, +48, +14, +102, +194, +125, +15, +182, +228, +251, +152, +127, +145, +147, +176, +105, +110, +37, +255, +0, +162, +241, +142, +192, +110, +254, +110, +246, +194, +109, +19, +152, +99, +200, +119, +252, +171, +142, +46, +55, +253, +185, +182, +203, +93, +91, +8, +91, +242, +157, +16, +161, +95, +10, +19, +184, +127, +131, +41, +153, +22, +1, +54, +192, +84, +228, +143, +20, +49, +27, +3, +150, +200, +5, +253, +124, +126, +44, +186, +107, +151, +24, +125, +37, +128, +125, +112, +229, +2, +17, +217, +160, +160, +76, +45, +131, +12, +230, +50, +182, +148, +31, +131, +169, +53, +87, +195, +194, +211, +23, +244, +31, +244, +178, +72, +185, +44, +227, +172, +4, +252, +197, +31, +246, +119, +126, +173, +144, +113, +50, +117, +204, +139, +105, +24, +63, +150, +185, +182, +7, +240, +112, +132, +118, +172, +191, +252, +149, +10, +234, +186, +144, +140, +45, +33, +119, +111, +8, +3, +248, +245, +207, +17, +201, +250, +1, +252, +183, +51, +229, +152, +28, +237, +3, +152, +138, +250, +11, +5, +237, +4, +103, +170, +255, +231, +231, +123, +249, +199, +52, +79, +140, +190, +20, +152, +86, +237, +94, +92, +181, +73, +68, +54, +40, +40, +151, +55, +200, +148, +90, +171, +24, +156, +238, +5, +224, +67, +192, +113, +152, +110, +188, +163, +140, +185, +42, +82, +46, +203, +56, +191, +195, +244, +241, +99, +112, +61, +64, +9, +227, +172, +128, +133, +188, +61, +236, +127, +49, +188, +17, +41, +247, +117, +224, +56, +63, +94, +13, +83, +27, +79, +197, +134, +230, +21, +48, +245, +245, +189, +145, +114, +67, +144, +185, +247, +65, +224, +229, +72, +153, +201, +157, +182, +252, +124, +93, +76, +167, +177, +165, +191, +155, +59, +242, +101, +50, +180, +159, +7, +174, +241, +227, +203, +129, +83, +139, +104, +75, +1, +124, +138, +140, +93, +27, +147, +7, +182, +198, +101, +131, +146, +114, +121, +131, +76, +169, +181, +42, +194, +0, +87, +96, +115, +241, +58, +153, +235, +49, +6, +200, +150, +123, +14, +88, +61, +66, +19, +43, +247, +103, +204, +211, +104, +17, +103, +24, +176, +16, +184, +172, +237, +97, +136, +233, +25, +251, +34, +215, +246, +227, +107, +128, +195, +252, +248, +85, +44, +98, +122, +12, +240, +74, +164, +92, +39, +16, +118, +167, +124, +221, +192, +238, +192, +139, +145, +50, +175, +0, +123, +249, +241, +188, +152, +12, +118, +150, +159, +239, +89, +244, +46, +253, +254, +114, +152, +208, +183, +14, +230, +151, +184, +70, +17, +109, +33, +252, +229, +60, +202, +96, +93, +245, +32, +217, +160, +162, +124, +178, +181, +202, +127, +240, +37, +253, +24, +167, +61, +16, +56, +207, +175, +45, +69, +252, +75, +206, +51, +192, +106, +17, +154, +24, +3, +188, +4, +236, +234, +199, +227, +188, +205, +83, +202, +158, +199, +105, +95, +102, +96, +110, +125, +9, +120, +59, +54, +26, +130, +141, +150, +139, +3, +79, +23, +148, +133, +248, +20, +240, +37, +224, +214, +200, +245, +87, +24, +200, +199, +112, +2, +54, +34, +116, +204, +227, +123, +17, +25, +53, +114, +229, +127, +135, +77, +191, +133, +31, +106, +207, +64, +77, +107, +21, +102, +219, +254, +185, +31, +119, +24, +32, +96, +158, +50, +155, +96, +115, +249, +16, +199, +208, +28, +227, +252, +22, +243, +34, +26, +195, +192, +180, +80, +196, +56, +147, +176, +233, +226, +173, +216, +84, +112, +163, +51, +208, +222, +206, +16, +239, +5, +118, +143, +148, +123, +9, +88, +212, +143, +31, +194, +134, +227, +29, +176, +17, +96, +25, +44, +140, +254, +226, +130, +103, +28, +194, +0, +94, +230, +73, +224, +63, +35, +244, +147, +49, +47, +165, +245, +48, +33, +117, +211, +204, +189, +227, +129, +59, +99, +237, +228, +222, +41, +184, +235, +88, +95, +65, +3, +107, +21, +240, +85, +44, +16, +36, +43, +205, +47, +133, +45, +45, +79, +46, +40, +147, +101, +156, +149, +176, +37, +224, +52, +60, +137, +85, +9, +227, +108, +143, +205, +253, +211, +129, +111, +97, +67, +236, +209, +126, +237, +117, +108, +78, +143, +249, +7, +78, +196, +163, +156, +177, +161, +123, +138, +63, +215, +4, +224, +127, +48, +225, +108, +229, +130, +190, +130, +77, +1, +11, +96, +242, +194, +1, +152, +176, +118, +13, +145, +21, +18, +230, +91, +112, +15, +54, +141, +158, +150, +185, +62, +143, +51, +71, +244, +157, +100, +232, +118, +114, +134, +45, +52, +130, +245, +4, +116, +97, +173, +242, +31, +244, +10, +108, +202, +184, +218, +143, +75, +151, +47, +77, +24, +167, +41, +128, +255, +44, +98, +224, +132, +178, +89, +60, +143, +45, +169, +143, +2, +230, +43, +160, +95, +6, +147, +222, +95, +198, +150, +172, +11, +99, +115, +250, +149, +206, +116, +67, +150, +129, +206, +28, +11, +97, +194, +232, +93, +192, +25, +77, +250, +58, +199, +161, +9, +227, +52, +108, +103, +62, +255, +98, +127, +69, +198, +117, +219, +127, +172, +86, +29, +51, +177, +21, +204, +115, +152, +101, +242, +49, +76, +168, +155, +234, +35, +86, +52, +84, +206, +71, +150, +87, +188, +220, +15, +128, +249, +219, +236, +147, +168, +25, +218, +53, +55, +194, +153, +224, +211, +152, +84, +62, +13, +243, +29, +120, +0, +23, +88, +91, +110, +43, +26, +31, +208, +55, +144, +203, +172, +73, +196, +109, +122, +20, +115, +15, +98, +95, +247, +254, +146, +54, +240, +227, +219, +36, +213, +138, +238, +29, +197, +28, +142, +58, +67, +190, +207, +89, +175, +145, +243, +184, +193, +194, +157, +94, +45, +154, +183, +114, +180, +141, +194, +200, +71, +209, +3, +48, +216, +18, +213, +17, +64, +190, +77, +137, +73, +17, +211, +174, +125, +35, +119, +237, +219, +20, +172, +141, +35, +229, +107, +133, +145, +211, +48, +139, +246, +40, +163, +85, +128, +1, +75, +212, +165, +12, +88, +162, +214, +243, +31, +248, +62, +92, +25, +18, +41, +183, +11, +166, +194, +237, +228, +2, +126, +147, +11, +73, +61, +177, +233, +99, +214, +183, +14, +3, +36, +121, +227, +122, +185, +36, +70, +195, +20, +66, +19, +49, +69, +204, +237, +84, +104, +63, +115, +101, +107, +51, +39, +53, +82, +187, +231, +202, +181, +203, +208, +152, +37, +234, +94, +114, +22, +36, +76, +203, +54, +153, +98, +139, +215, +60, +62, +98, +236, +226, +231, +187, +59, +35, +69, +95, +52, +109, +57, +48, +244, +8, +152, +54, +243, +84, +96, +9, +76, +115, +152, +148, +19, +217, +203, +214, +98, +78, +224, +187, +152, +86, +114, +117, +76, +135, +145, +156, +218, +189, +238, +200, +153, +82, +225, +32, +75, +84, +238, +222, +241, +101, +28, +141, +41, +102, +126, +230, +199, +191, +161, +192, +108, +153, +161, +175, +229, +192, +208, +132, +105, +176, +168, +160, +105, +228, +220, +176, +49, +83, +247, +179, +37, +35, +218, +11, +25, +102, +222, +139, +2, +61, +255, +92, +7, +50, +150, +168, +200, +189, +82, +67, +4, +102, +38, +157, +142, +185, +135, +205, +160, +192, +118, +158, +161, +175, +237, +192, +80, +151, +105, +252, +254, +137, +152, +118, +44, +100, +174, +221, +70, +196, +25, +35, +115, +255, +39, +152, +61, +98, +2, +166, +149, +59, +172, +236, +89, +188, +76, +19, +217, +169, +47, +101, +146, +209, +13, +3, +56, +205, +95, +49, +15, +153, +63, +150, +209, +57, +109, +109, +7, +134, +134, +76, +179, +136, +127, +237, +239, +243, +243, +157, +177, +136, +227, +178, +128, +145, +245, +48, +211, +246, +27, +192, +222, +9, +207, +82, +91, +118, +234, +87, +153, +90, +192, +116, +205, +199, +23, +220, +75, +177, +68, +29, +236, +47, +46, +150, +58, +37, +70, +95, +203, +129, +161, +9, +211, +100, +218, +185, +193, +143, +255, +74, +193, +52, +231, +247, +223, +235, +12, +115, +54, +166, +233, +251, +25, +3, +206, +41, +135, +19, +113, +200, +160, +129, +236, +212, +175, +50, +181, +128, +37, +130, +190, +47, +210, +64, +146, +37, +170, +65, +123, +181, +29, +24, +234, +50, +141, +211, +45, +236, +95, +253, +103, +49, +169, +57, +26, +126, +229, +180, +119, +0, +95, +242, +227, +149, +24, +112, +200, +92, +206, +153, +237, +195, +145, +50, +181, +101, +167, +126, +149, +169, +133, +204, +16, +115, +21, +230, +138, +148, +181, +68, +117, +63, +196, +196, +219, +172, +229, +192, +208, +132, +105, +188, +220, +113, +24, +134, +216, +224, +115, +116, +47, +2, +187, +101, +206, +87, +198, +28, +100, +94, +0, +190, +95, +80, +166, +246, +212, +217, +175, +50, +41, +200, +238, +26, +246, +140, +164, +77, +36, +77, +145, +244, +39, +73, +255, +150, +101, +8, +123, +80, +182, +251, +85, +161, +67, +104, +23, +248, +158, +164, +237, +37, +37, +165, +109, +245, +157, +205, +174, +148, +116, +150, +108, +199, +178, +201, +137, +237, +116, +148, +82, +67, +210, +215, +231, +112, +163, +164, +227, +176, +101, +220, +56, +73, +155, +202, +118, +239, +154, +79, +210, +180, +196, +182, +230, +40, +204, +155, +61, +241, +45, +224, +62, +218, +199, +246, +103, +74, +154, +33, +233, +162, +26, +101, +190, +39, +233, +119, +170, +215, +207, +212, +32, +207, +131, +36, +125, +93, +198, +248, +11, +73, +154, +36, +233, +11, +146, +110, +146, +116, +45, +240, +74, +8, +33, +191, +130, +152, +34, +41, +234, +16, +226, +215, +239, +143, +92, +239, +87, +153, +222, +131, +226, +165, +73, +52, +89, +34, +93, +58, +48, +208, +192, +235, +133, +129, +93, +63, +86, +173, +211, +86, +98, +221, +181, +101, +167, +126, +149, +233, +57, +40, +95, +154, +60, +64, +102, +179, +168, +76, +153, +218, +14, +12, +45, +48, +77, +47, +25, +160, +182, +236, +212, +175, +50, +61, +7, +189, +94, +154, +12, +212, +215, +91, +175, +151, +46, +145, +25, +5, +31, +167, +190, +82, +167, +167, +101, +154, +62, +80, +82, +198, +110, +122, +189, +52, +25, +197, +240, +128, +196, +140, +221, +244, +104, +105, +50, +138, +254, +97, +222, +216, +197, +16, +194, +44, +73, +71, +181, +80, +127, +123, +73, +12, +71, +209, +19, +12, +50, +37, +82, +223, +216, +48, +69, +229, +75, +147, +41, +249, +139, +52, +180, +210, +213, +133, +11, +125, +177, +168, +156, +194, +220, +63, +152, +47, +195, +49, +152, +63, +192, +75, +152, +98, +232, +110, +160, +141, +143, +97, +100, +163, +66, +162, +47, +146, +76, +171, +150, +38, +255, +85, +208, +86, +19, +43, +93, +45, +230, +172, +203, +0, +254, +227, +95, +135, +5, +101, +236, +224, +140, +250, +86, +224, +253, +177, +122, +114, +253, +122, +202, +143, +151, +6, +30, +47, +233, +79, +7, +149, +201, +34, +98, +253, +199, +98, +45, +175, +35, +30, +195, +56, +147, +248, +30, +6, +105, +201, +174, +104, +102, +160, +40, +91, +154, +220, +73, +65, +6, +76, +106, +90, +233, +26, +50, +103, +93, +6, +56, +14, +75, +252, +80, +107, +4, +2, +118, +197, +147, +81, +98, +219, +202, +71, +211, +220, +123, +127, +146, +147, +69, +228, +251, +15, +124, +25, +27, +153, +138, +114, +4, +212, +122, +222, +14, +178, +83, +192, +174, +146, +190, +239, +243, +255, +108, +132, +16, +222, +144, +169, +106, +135, +108, +22, +25, +81, +31, +79, +147, +116, +151, +164, +151, +36, +109, +17, +66, +24, +18, +1, +235, +229, +158, +151, +244, +223, +146, +58, +43, +136, +207, +74, +58, +35, +132, +240, +66, +65, +63, +63, +43, +233, +85, +73, +31, +10, +33, +220, +30, +66, +120, +62, +132, +112, +167, +108, +131, +134, +55, +36, +125, +166, +160, +92, +29, +236, +39, +233, +188, +6, +42, +239, +13, +36, +77, +140, +28, +199, +240, +122, +8, +225, +149, +16, +194, +148, +16, +194, +111, +37, +109, +37, +105, +41, +73, +71, +151, +53, +0, +28, +42, +105, +15, +73, +59, +250, +187, +107, +31, +180, +36, +209, +99, +86, +186, +137, +249, +145, +36, +66, +87, +199, +74, +215, +196, +122, +86, +138, +8, +253, +12, +96, +191, +148, +103, +116, +250, +231, +252, +111, +38, +102, +44, +26, +116, +92, +208, +159, +58, +201, +34, +240, +175, +247, +3, +62, +250, +69, +115, +4, +37, +212, +159, +60, +2, +180, +133, +79, +75, +90, +69, +210, +37, +148, +36, +67, +242, +175, +253, +12, +73, +95, +145, +116, +122, +8, +225, +165, +146, +58, +223, +46, +233, +161, +130, +123, +15, +122, +123, +49, +236, +44, +105, +129, +220, +223, +206, +69, +93, +146, +217, +38, +102, +163, +140, +97, +66, +8, +139, +133, +16, +22, +147, +244, +164, +164, +181, +252, +248, +127, +37, +173, +238, +199, +169, +184, +167, +164, +255, +235, +75, +250, +153, +108, +116, +28, +146, +189, +164, +13, +100, +25, +96, +138, +90, +48, +54, +132, +16, +238, +149, +89, +248, +222, +144, +84, +149, +201, +58, +213, +74, +215, +20, +157, +33, +119, +246, +95, +73, +159, +30, +148, +148, +207, +53, +80, +198, +48, +194, +118, +20, +39, +132, +48, +21, +75, +224, +52, +203, +13, +106, +117, +48, +70, +210, +172, +130, +123, +235, +203, +166, +166, +147, +128, +229, +107, +214, +155, +220, +120, +7, +151, +73, +58, +36, +63, +116, +251, +249, +193, +146, +46, +77, +173, +52, +132, +240, +247, +16, +194, +110, +33, +132, +170, +60, +182, +169, +86, +186, +41, +234, +189, +37, +236, +18, +73, +135, +146, +145, +176, +203, +24, +198, +135, +249, +127, +73, +90, +214, +143, +39, +75, +90, +174, +51, +53, +212, +104, +247, +157, +94, +54, +134, +11, +93, +86, +184, +72, +210, +79, +200, +172, +154, +34, +152, +37, +51, +91, +231, +241, +38, +229, +70, +182, +44, +178, +12, +112, +170, +19, +95, +73, +70, +162, +151, +116, +185, +211, +69, +51, +104, +245, +9, +173, +49, +103, +9, +206, +144, +9, +175, +127, +194, +178, +164, +45, +138, +173, +74, +162, +95, +158, +15, +243, +231, +72, +58, +209, +143, +207, +148, +116, +82, +102, +106, +168, +4, +102, +49, +253, +152, +108, +152, +47, +195, +103, +36, +173, +36, +233, +216, +18, +154, +123, +37, +189, +59, +114, +125, +35, +191, +151, +212, +161, +254, +24, +27, +6, +218, +75, +178, +210, +209, +204, +122, +86, +91, +40, +194, +188, +154, +191, +137, +101, +5, +155, +233, +130, +225, +189, +20, +236, +235, +227, +237, +79, +240, +227, +203, +40, +217, +234, +206, +251, +83, +39, +89, +196, +160, +254, +99, +233, +239, +95, +6, +54, +200, +211, +250, +253, +61, +48, +167, +217, +3, +253, +119, +124, +27, +112, +144, +11, +165, +251, +23, +245, +107, +142, +65, +191, +153, +51, +177, +79, +79, +116, +218, +247, +227, +183, +149, +208, +102, +145, +146, +44, +98, +8, +3, +99, +241, +23, +147, +41, +78, +43, +255, +62, +44, +132, +253, +101, +103, +222, +155, +129, +15, +117, +243, +140, +163, +24, +197, +40, +70, +49, +138, +185, +31, +62, +231, +220, +157, +159, +147, +42, +132, +166, +43, +124, +94, +126, +210, +231, +230, +239, +2, +151, +39, +180, +53, +98, +66, +181, +105, +24, +110, +62, +183, +32, +175, +9, +92, +84, +210, +49, +53, +202, +63, +41, +105, +89, +73, +107, +75, +90, +75, +210, +91, +252, +90, +21, +46, +144, +45, +125, +134, +4, +90, +228, +65, +162, +119, +82, +174, +76, +157, +144, +235, +236, +26, +185, +72, +33, +83, +214, +86, +85, +184, +249, +10, +152, +89, +121, +205, +18, +154, +206, +190, +73, +235, +213, +108, +187, +52, +112, +21, +203, +99, +124, +117, +238, +218, +159, +201, +236, +175, +148, +189, +1, +240, +31, +46, +161, +142, +203, +92, +47, +27, +1, +30, +3, +86, +201, +156, +47, +82, +213, +169, +186, +32, +209, +59, +41, +67, +223, +56, +228, +58, +177, +254, +90, +57, +148, +128, +243, +49, +251, +72, +105, +194, +12, +108, +207, +133, +115, +203, +104, +156, +110, +33, +6, +194, +213, +254, +234, +255, +3, +17, +203, +171, +255, +30, +15, +2, +255, +225, +231, +135, +96, +206, +186, +67, +173, +174, +206, +0, +91, +250, +131, +93, +158, +185, +94, +198, +0, +79, +144, +73, +146, +136, +173, +207, +163, +241, +244, +116, +107, +175, +110, +25, +77, +251, +131, +237, +228, +185, +178, +191, +167, +231, +128, +35, +74, +104, +215, +240, +23, +62, +63, +102, +30, +127, +103, +9, +237, +70, +216, +154, +189, +106, +131, +141, +19, +48, +179, +245, +79, +49, +31, +138, +159, +98, +9, +58, +190, +88, +64, +191, +137, +223, +127, +167, +255, +31, +178, +231, +67, +135, +16, +108, +139, +182, +133, +176, +112, +168, +78, +170, +215, +50, +6, +248, +1, +150, +174, +117, +49, +255, +241, +127, +82, +244, +197, +121, +253, +117, +236, +243, +181, +126, +160, +6, +244, +181, +250, +147, +185, +95, +39, +135, +210, +175, +128, +143, +250, +241, +190, +68, +82, +216, +230, +232, +255, +9, +28, +94, +65, +179, +8, +182, +165, +252, +49, +216, +212, +114, +180, +159, +23, +250, +49, +96, +142, +39, +51, +136, +56, +232, +228, +31, +38, +184, +13, +255, +40, +73, +103, +71, +135, +138, +193, +120, +171, +164, +103, +100, +170, +198, +251, +100, +115, +104, +105, +110, +128, +26, +152, +39, +210, +191, +54, +233, +107, +193, +25, +230, +110, +111, +39, +123, +189, +136, +193, +54, +148, +244, +46, +13, +132, +189, +93, +36, +105, +53, +96, +147, +146, +102, +206, +145, +52, +36, +93, +109, +22, +238, +15, +48, +77, +246, +27, +29, +44, +179, +190, +78, +171, +240, +99, +24, +39, +233, +89, +255, +63, +8, +209, +23, +22, +66, +248, +181, +44, +69, +220, +41, +42, +49, +36, +132, +16, +118, +9, +33, +28, +18, +66, +88, +38, +132, +240, +182, +16, +194, +193, +33, +132, +29, +203, +30, +96, +14, +71, +29, +33, +249, +84, +73, +167, +116, +12, +98, +238, +88, +243, +21, +73, +101, +177, +18, +191, +144, +244, +54, +42, +118, +17, +149, +180, +177, +164, +137, +33, +132, +95, +74, +186, +69, +210, +123, +139, +8, +49, +175, +171, +237, +36, +189, +71, +210, +14, +120, +198, +244, +24, +225, +160, +33, +17, +203, +160, +253, +60, +182, +189, +74, +215, +115, +116, +131, +41, +96, +36, +210, +215, +18, +146, +155, +0, +115, +205, +251, +101, +75, +117, +45, +137, +201, +105, +157, +233, +124, +79, +63, +95, +162, +67, +83, +56, +100, +134, +16, +30, +146, +244, +85, +73, +95, +106, +163, +51, +115, +9, +238, +151, +116, +190, +164, +111, +245, +176, +141, +115, +37, +189, +159, +130, +13, +162, +106, +226, +219, +146, +238, +8, +33, +252, +74, +146, +124, +196, +184, +211, +175, +75, +170, +158, +51, +191, +38, +11, +19, +111, +3, +141, +236, +213, +61, +68, +147, +254, +204, +39, +233, +68, +73, +235, +119, +190, +170, +182, +17, +66, +184, +95, +210, +181, +50, +51, +113, +183, +117, +237, +29, +66, +152, +144, +187, +182, +67, +8, +97, +246, +86, +128, +217, +252, +0, +33, +132, +112, +117, +142, +248, +245, +16, +194, +58, +33, +132, +50, +71, +132, +84, +212, +181, +87, +215, +253, +129, +234, +210, +55, +177, +159, +215, +21, +146, +155, +226, +28, +73, +31, +197, +115, +47, +206, +21, +160, +166, +189, +26, +83, +209, +126, +62, +114, +253, +11, +46, +141, +119, +75, +95, +183, +63, +121, +25, +233, +114, +44, +151, +208, +248, +54, +101, +128, +185, +26, +212, +176, +87, +55, +248, +129, +106, +59, +68, +212, +236, +79, +158, +1, +90, +21, +146, +71, +17, +65, +157, +31, +168, +9, +125, +205, +190, +12, +89, +53, +96, +46, +237, +79, +14, +39, +3, +120, +191, +54, +175, +166, +76, +171, +108, +173, +252, +57, +17, +71, +68, +74, +208, +74, +71, +70, +32, +10, +24, +96, +62, +204, +130, +58, +231, +51, +0, +176, +10, +166, +99, +222, +193, +207, +183, +33, +183, +143, +95, +134, +182, +179, +207, +222, +26, +222, +129, +181, +41, +216, +119, +111, +20, +67, +129, +109, +170, +149, +36, +88, +99, +6, +173, +168, +219, +152, +223, +111, +117, +4, +216, +210, +153, +224, +243, +254, +127, +124, +5, +253, +88, +239, +64, +235, +169, +87, +230, +102, +164, +254, +248, +78, +75, +217, +135, +149, +101, +0, +204, +225, +244, +38, +114, +41, +117, +235, +118, +238, +24, +175, +52, +154, +53, +52, +71, +155, +196, +0, +88, +46, +225, +171, +49, +227, +197, +19, +152, +141, +255, +255, +252, +94, +68, +41, +72, +101, +0, +44, +136, +247, +55, +192, +239, +105, +178, +103, +176, +87, +182, +149, +127, +249, +157, +72, +217, +237, +43, +232, +83, +25, +224, +70, +44, +217, +243, +50, +152, +229, +234, +160, +146, +135, +129, +129, +125, +252, +206, +1, +22, +79, +232, +119, +233, +48, +233, +52, +75, +97, +142, +34, +83, +177, +56, +200, +135, +40, +216, +45, +188, +23, +192, +220, +192, +99, +136, +109, +33, +123, +97, +1, +237, +175, +34, +180, +96, +91, +204, +125, +195, +191, +254, +232, +182, +244, +41, +29, +28, +135, +205, +249, +219, +248, +249, +22, +126, +190, +86, +73, +153, +84, +6, +120, +153, +34, +35, +196, +96, +58, +48, +223, +249, +133, +49, +251, +248, +157, +120, +26, +250, +132, +114, +101, +95, +201, +34, +152, +59, +245, +213, +152, +235, +215, +226, +254, +124, +177, +212, +175, +11, +3, +23, +224, +210, +125, +22, +17, +218, +107, +129, +255, +206, +93, +59, +25, +207, +77, +156, +187, +62, +134, +220, +62, +197, +254, +55, +36, +225, +21, +38, +92, +118, +238, +131, +5, +169, +188, +153, +8, +147, +251, +253, +142, +7, +212, +16, +121, +173, +22, +200, +24, +57, +252, +188, +40, +104, +177, +115, +63, +149, +1, +238, +33, +205, +219, +5, +6, +175, +181, +247, +7, +42, +85, +209, +9, +12, +112, +10, +230, +189, +84, +24, +172, +154, +161, +61, +39, +247, +187, +79, +194, +116, +10, +147, +34, +180, +91, +96, +211, +90, +103, +43, +219, +249, +253, +163, +121, +127, +69, +27, +109, +203, +0, +191, +194, +188, +160, +174, +168, +83, +119, +215, +168, +193, +0, +59, +99, +27, +62, +92, +71, +137, +61, +60, +194, +0, +31, +6, +162, +193, +150, +212, +27, +38, +239, +166, +98, +19, +139, +12, +237, +99, +185, +250, +238, +242, +235, +81, +135, +81, +44, +215, +241, +201, +126, +124, +176, +51, +123, +233, +143, +64, +15, +86, +1, +216, +200, +245, +16, +240, +233, +148, +122, +91, +65, +42, +3, +56, +237, +234, +152, +144, +50, +139, +200, +208, +235, +52, +48, +48, +5, +108, +140, +165, +145, +249, +66, +1, +109, +157, +97, +242, +21, +96, +159, +88, +61, +17, +218, +153, +53, +25, +96, +19, +204, +71, +112, +17, +108, +47, +225, +131, +83, +218, +105, +11, +29, +6, +240, +227, +205, +49, +5, +216, +187, +250, +213, +120, +237, +101, +32, +182, +15, +79, +52, +214, +63, +242, +53, +31, +153, +88, +39, +148, +15, +147, +175, +144, +176, +249, +131, +211, +78, +175, +195, +0, +126, +239, +114, +76, +250, +158, +74, +36, +206, +175, +151, +200, +50, +128, +159, +127, +5, +155, +182, +10, +19, +110, +12, +43, +176, +164, +75, +209, +52, +39, +254, +48, +219, +249, +241, +223, +129, +66, +239, +155, +220, +8, +112, +169, +143, +26, +69, +35, +192, +36, +224, +115, +137, +253, +251, +83, +42, +3, +48, +48, +250, +228, +177, +66, +74, +91, +35, +10, +184, +85, +43, +134, +46, +235, +93, +10, +51, +208, +44, +141, +249, +200, +95, +6, +252, +174, +128, +54, +203, +0, +187, +97, +75, +209, +162, +68, +83, +117, +100, +128, +51, +177, +249, +177, +242, +235, +196, +146, +80, +61, +156, +194, +0, +126, +61, +59, +13, +237, +196, +156, +170, +13, +37, +190, +76, +89, +180, +5, +6, +88, +28, +219, +170, +165, +147, +71, +231, +18, +10, +162, +104, +115, +12, +16, +48, +225, +45, +233, +203, +173, +232, +195, +210, +152, +167, +243, +223, +176, +53, +243, +34, +216, +178, +183, +72, +22, +121, +51, +176, +1, +176, +97, +25, +3, +208, +197, +8, +224, +12, +254, +40, +17, +165, +77, +65, +157, +253, +183, +55, +116, +30, +176, +143, +237, +205, +102, +0, +63, +255, +48, +45, +37, +143, +4, +150, +7, +190, +143, +133, +176, +205, +194, +76, +185, +215, +38, +148, +235, +201, +8, +128, +229, +58, +40, +202, +163, +56, +187, +174, +236, +95, +74, +189, +173, +2, +155, +103, +135, +36, +71, +192, +180, +121, +127, +241, +151, +217, +193, +227, +100, +156, +13, +71, +50, +128, +139, +129, +75, +18, +105, +43, +133, +64, +191, +63, +136, +121, +43, +104, +87, +199, +150, +197, +149, +35, +97, +66, +155, +187, +96, +59, +156, +206, +192, +130, +86, +214, +79, +233, +67, +87, +192, +134, +244, +147, +252, +248, +68, +224, +250, +158, +55, +218, +34, +176, +41, +33, +41, +223, +94, +42, +3, +212, +108, +255, +44, +160, +112, +151, +148, +154, +12, +48, +25, +155, +170, +150, +193, +132, +225, +222, +255, +22, +206, +109, +219, +250, +241, +182, +68, +244, +217, +125, +232, +67, +22, +47, +99, +243, +233, +197, +84, +107, +47, +255, +138, +173, +48, +62, +153, +216, +78, +171, +12, +128, +89, +236, +166, +1, +91, +149, +208, +68, +81, +64, +247, +137, +204, +249, +142, +64, +81, +178, +205, +40, +154, +90, +228, +238, +151, +244, +65, +31, +242, +63, +168, +226, +44, +87, +131, +128, +205, +233, +80, +18, +35, +87, +19, +157, +60, +128, +111, +147, +101, +50, +93, +82, +210, +144, +85, +64, +22, +33, +132, +45, +66, +8, +27, +133, +16, +206, +105, +169, +15, +117, +177, +159, +164, +199, +66, +8, +215, +85, +208, +197, +114, +28, +198, +144, +117, +96, +125, +81, +182, +215, +81, +111, +225, +67, +206, +52, +204, +106, +55, +145, +4, +205, +19, +176, +32, +166, +217, +123, +190, +136, +1, +48, +189, +122, +244, +47, +66, +59, +100, +152, +196, +36, +235, +178, +132, +147, +195, +14, +204, +101, +173, +116, +244, +169, +57, +5, +100, +149, +64, +155, +199, +70, +138, +50, +148, +186, +29, +3, +99, +60, +164, +105, +16, +66, +8, +255, +196, +214, +212, +107, +132, +16, +30, +76, +108, +235, +51, +178, +221, +184, +10, +99, +223, +66, +8, +141, +184, +23, +83, +254, +140, +149, +237, +36, +86, +103, +7, +178, +174, +128, +57, +204, +68, +87, +18, +49, +87, +122, +44, +50, +119, +13, +73, +63, +233, +109, +207, +26, +130, +26, +177, +239, +88, +122, +179, +14, +158, +164, +68, +213, +138, +45, +193, +158, +192, +148, +66, +111, +180, +49, +5, +20, +76, +147, +23, +208, +212, +25, +162, +89, +31, +138, +76, +188, +209, +37, +27, +233, +57, +0, +250, +54, +2, +228, +101, +128, +253, +101, +25, +175, +37, +11, +14, +141, +166, +112, +1, +206, +145, +101, +239, +92, +213, +255, +206, +85, +121, +34, +201, +175, +74, +58, +199, +179, +139, +183, +105, +174, +236, +204, +147, +11, +75, +26, +47, +11, +234, +248, +122, +164, +191, +27, +98, +186, +250, +233, +88, +130, +234, +139, +40, +73, +233, +150, +138, +16, +194, +27, +249, +84, +180, +153, +148, +180, +249, +62, +44, +41, +105, +47, +101, +194, +178, +70, +28, +72, +116, +211, +242, +121, +121, +163, +204, +249, +38, +20, +164, +71, +197, +52, +111, +143, +227, +198, +9, +231, +218, +182, +70, +128, +188, +12, +176, +63, +240, +108, +132, +246, +66, +204, +81, +99, +101, +108, +13, +126, +45, +5, +121, +253, +157, +62, +201, +123, +136, +30, +169, +207, +135, +5, +222, +239, +36, +165, +2, +102, +207, +62, +210, +143, +23, +244, +23, +28, +141, +104, +5, +110, +192, +44, +84, +171, +250, +31, +152, +255, +126, +87, +201, +143, +11, +24, +224, +96, +224, +177, +132, +178, +239, +163, +216, +32, +85, +199, +123, +168, +214, +20, +48, +162, +225, +47, +52, +73, +169, +224, +95, +252, +173, +152, +243, +196, +67, +88, +166, +176, +168, +22, +176, +232, +11, +1, +254, +210, +66, +127, +59, +234, +210, +69, +49, +143, +230, +251, +129, +51, +19, +202, +126, +130, +72, +184, +152, +223, +75, +246, +30, +154, +171, +224, +47, +180, +43, +165, +66, +141, +118, +218, +22, +2, +103, +98, +185, +120, +78, +166, +98, +83, +73, +44, +5, +206, +125, +192, +199, +11, +238, +39, +123, +15, +205, +85, +240, +23, +185, +109, +230, +188, +182, +68, +89, +163, +157, +182, +20, +65, +117, +219, +158, +199, +71, +182, +223, +80, +224, +146, +69, +13, +239, +161, +134, +125, +56, +44, +50, +26, +198, +18, +85, +64, +66, +192, +7, +240, +59, +76, +86, +153, +138, +9, +184, +93, +233, +1, +94, +173, +83, +184, +9, +90, +10, +53, +175, +13, +76, +192, +253, +129, +164, +197, +101, +123, +239, +148, +189, +168, +94, +10, +113, +75, +73, +186, +66, +82, +214, +219, +169, +82, +110, +41, +66, +8, +97, +182, +3, +42, +240, +99, +21, +107, +12, +163, +152, +123, +226, +207, +75, +224, +95, +251, +119, +100, +75, +214, +9, +33, +132, +178, +253, +143, +166, +168, +120, +11, +151, +170, +118, +86, +150, +229, +1, +218, +82, +166, +150, +30, +31, +66, +184, +41, +71, +182, +148, +164, +7, +61, +17, +68, +107, +0, +54, +147, +244, +33, +89, +194, +206, +100, +212, +182, +5, +96, +82, +242, +143, +128, +127, +99, +10, +160, +202, +8, +162, +17, +128, +111, +200, +244, +4, +71, +200, +146, +48, +117, +86, +36, +177, +156, +124, +127, +144, +37, +103, +168, +229, +219, +135, +101, +50, +189, +78, +54, +122, +76, +144, +237, +115, +116, +103, +132, +116, +41, +217, +222, +66, +41, +216, +4, +19, +204, +103, +96, +249, +0, +163, +242, +141, +143, +110, +223, +146, +244, +213, +16, +194, +163, +117, +250, +157, +173, +100, +208, +156, +83, +36, +3, +0, +223, +193, +44, +106, +171, +57, +205, +35, +192, +1, +141, +26, +237, +65, +255, +74, +202, +198, +240, +145, +8, +109, +45, +239, +161, +76, +185, +255, +194, +54, +131, +172, +218, +45, +237, +50, +204, +59, +234, +53, +76, +63, +242, +109, +34, +153, +70, +188, +127, +183, +97, +190, +23, +107, +98, +130, +235, +23, +10, +234, +60, +212, +239, +247, +126, +87, +117, +239, +244, +142, +153, +243, +143, +18, +89, +46, +22, +9, +55, +5, +117, +158, +128, +229, +3, +126, +26, +56, +151, +226, +141, +20, +187, +82, +123, +166, +130, +6, +222, +67, +88, +46, +130, +74, +247, +53, +44, +115, +215, +170, +216, +82, +123, +107, +204, +97, +245, +194, +8, +29, +120, +138, +87, +63, +255, +52, +241, +76, +39, +75, +98, +163, +241, +46, +169, +207, +215, +21, +48, +117, +234, +123, +51, +231, +59, +0, +67, +146, +20, +166, +50, +0, +176, +31, +166, +88, +90, +23, +88, +9, +83, +28, +197, +180, +110, +125, +99, +128, +38, +192, +252, +29, +191, +136, +133, +179, +189, +128, +69, +233, +84, +42, +187, +176, +61, +25, +103, +68, +174, +67, +38, +95, +32, +166, +188, +26, +34, +164, +99, +35, +114, +105, +6, +210, +50, +52, +241, +7, +184, +94, +210, +17, +62, +52, +190, +93, +182, +251, +103, +179, +128, +68, +195, +17, +146, +190, +22, +66, +184, +43, +132, +240, +136, +76, +151, +191, +103, +23, +245, +13, +23, +22, +146, +180, +181, +164, +221, +36, +173, +40, +233, +101, +153, +141, +164, +10, +243, +73, +122, +170, +224, +222, +152, +220, +113, +140, +225, +63, +42, +105, +51, +6, +150, +130, +83, +233, +165, +91, +186, +127, +165, +87, +98, +246, +128, +59, +157, +235, +159, +137, +208, +165, +142, +0, +207, +50, +20, +67, +76, +208, +145, +17, +96, +251, +17, +54, +2, +188, +64, +38, +0, +22, +83, +31, +199, +70, +198, +227, +125, +180, +91, +26, +139, +198, +190, +15, +56, +37, +66, +7, +158, +103, +216, +207, +143, +161, +7, +251, +25, +204, +230, +48, +76, +175, +125, +134, +255, +32, +79, +99, +33, +221, +135, +228, +11, +132, +16, +30, +9, +33, +236, +24, +66, +88, +40, +132, +176, +158, +164, +87, +148, +186, +45, +89, +113, +31, +246, +209, +96, +207, +151, +216, +136, +242, +146, +6, +123, +187, +172, +17, +171, +44, +195, +68, +179, +48, +19, +244, +55, +72, +8, +49, +111, +1, +119, +201, +190, +252, +14, +22, +146, +121, +232, +228, +241, +30, +217, +40, +58, +85, +210, +121, +146, +126, +36, +41, +154, +233, +91, +210, +145, +152, +0, +184, +150, +164, +195, +212, +75, +63, +2, +224, +63, +157, +27, +215, +198, +50, +91, +19, +99, +128, +72, +185, +137, +192, +137, +145, +235, +169, +35, +192, +45, +120, +112, +101, +5, +221, +13, +152, +6, +111, +25, +76, +58, +159, +28, +27, +1, +188, +221, +78, +124, +225, +38, +152, +106, +247, +231, +17, +186, +113, +88, +166, +243, +206, +30, +192, +151, +18, +217, +159, +55, +50, +58, +81, +208, +238, +129, +152, +13, +97, +75, +108, +133, +116, +3, +240, +157, +170, +231, +42, +121, +94, +128, +207, +96, +246, +141, +151, +177, +125, +7, +122, +23, +118, +134, +5, +54, +30, +229, +199, +215, +96, +214, +176, +91, +34, +116, +243, +99, +238, +226, +75, +98, +142, +35, +83, +137, +108, +221, +86, +131, +1, +246, +194, +156, +80, +62, +4, +172, +136, +229, +5, +216, +45, +66, +247, +78, +103, +182, +87, +48, +139, +229, +174, +37, +12, +144, +141, +45, +56, +0, +152, +22, +161, +187, +25, +11, +169, +30, +135, +229, +71, +250, +5, +112, +107, +132, +110, +213, +220, +223, +215, +40, +112, +148, +193, +150, +130, +79, +97, +82, +249, +15, +169, +200, +253, +95, +6, +127, +142, +118, +114, +255, +36, +54, +56, +29, +147, +52, +183, +193, +252, +214, +118, +45, +120, +113, +27, +97, +107, +216, +255, +197, +162, +124, +242, +251, +237, +118, +232, +146, +24, +192, +105, +63, +130, +133, +99, +205, +116, +134, +250, +84, +23, +207, +145, +103, +128, +168, +137, +24, +155, +179, +179, +50, +197, +150, +84, +24, +191, +48, +91, +194, +20, +122, +104, +43, +200, +180, +149, +204, +0, +152, +60, +52, +209, +71, +138, +169, +36, +140, +168, +177, +74, +166, +97, +67, +231, +141, +152, +37, +240, +3, +68, +156, +43, +106, +212, +7, +67, +163, +91, +74, +211, +184, +180, +129, +76, +187, +139, +49, +32, +100, +157, +29, +161, +251, +33, +240, +107, +204, +58, +184, +16, +230, +49, +84, +234, +41, +12, +236, +141, +41, +137, +122, +174, +66, +175, +201, +0, +79, +98, +250, +152, +69, +177, +216, +198, +241, +77, +26, +252, +7, +22, +230, +220, +217, +135, +230, +104, +224, +239, +181, +43, +26, +168, +47, +134, +82, +151, +237, +54, +144, +105, +107, +38, +230, +171, +112, +10, +241, +173, +89, +231, +199, +194, +179, +158, +197, +134, +236, +243, +168, +222, +0, +234, +22, +224, +179, +45, +244, +177, +213, +157, +202, +188, +190, +243, +233, +38, +132, +14, +248, +148, +191, +184, +253, +49, +65, +240, +1, +224, +208, +110, +59, +215, +111, +248, +51, +164, +200, +30, +187, +251, +151, +179, +157, +63, +251, +179, +148, +7, +107, +116, +146, +47, +44, +217, +66, +31, +239, +200, +48, +192, +237, +45, +212, +55, +30, +115, +209, +159, +142, +109, +47, +91, +223, +153, +5, +203, +171, +251, +15, +127, +17, +211, +128, +47, +85, +125, +17, +253, +4, +22, +45, +124, +154, +247, +237, +25, +34, +137, +161, +157, +46, +149, +1, +38, +147, +209, +239, +99, +94, +66, +49, +227, +77, +231, +254, +111, +40, +217, +129, +12, +203, +104, +50, +209, +153, +228, +206, +70, +195, +112, +67, +120, +123, +7, +249, +135, +123, +11, +240, +219, +126, +53, +12, +53, +247, +186, +43, +168, +99, +8, +34, +116, +7, +99, +235, +250, +119, +97, +110, +107, +79, +1, +187, +23, +212, +151, +194, +0, +47, +98, +38, +212, +206, +249, +86, +68, +20, +55, +126, +111, +21, +159, +82, +10, +179, +112, +249, +87, +253, +77, +204, +135, +240, +43, +64, +212, +220, +235, +253, +107, +85, +165, +141, +9, +180, +59, +249, +241, +102, +244, +58, +56, +6, +56, +28, +19, +174, +240, +161, +39, +105, +79, +191, +130, +186, +242, +14, +149, +151, +17, +9, +156, +196, +150, +166, +95, +204, +156, +159, +76, +68, +7, +94, +131, +1, +174, +196, +214, +254, +227, +176, +117, +251, +31, +129, +95, +23, +208, +126, +11, +184, +170, +162, +190, +89, +157, +175, +30, +19, +66, +135, +232, +247, +51, +253, +171, +197, +0, +20, +120, +92, +103, +238, +159, +238, +31, +196, +193, +192, +73, +192, +53, +101, +244, +93, +193, +27, +121, +209, +135, +156, +21, +176, +124, +193, +155, +69, +232, +222, +135, +101, +5, +123, +17, +27, +182, +47, +7, +86, +175, +168, +123, +107, +108, +41, +51, +54, +114, +111, +42, +153, +204, +223, +152, +222, +160, +177, +39, +141, +247, +253, +82, +6, +166, +148, +11, +137, +236, +78, +234, +95, +244, +139, +84, +88, +219, +178, +63, +44, +230, +36, +251, +199, +42, +58, +63, +239, +154, +1, +156, +102, +87, +76, +249, +4, +137, +249, +144, +26, +1, +83, +194, +156, +154, +64, +247, +117, +224, +8, +76, +149, +185, +10, +54, +135, +22, +174, +42, +48, +85, +244, +109, +192, +87, +10, +238, +191, +204, +96, +159, +197, +109, +129, +215, +154, +61, +69, +79, +60, +184, +94, +0, +0, +18, +40, +73, +68, +65, +84, +251, +200, +49, +192, +115, +192, +7, +170, +232, +252, +188, +200, +239, +98, +69, +76, +178, +159, +226, +101, +30, +163, +64, +238, +201, +149, +251, +36, +53, +118, +111, +205, +218, +2, +82, +57, +115, +13, +73, +149, +203, +195, +16, +194, +81, +33, +132, +111, +134, +16, +38, +133, +16, +30, +144, +237, +23, +92, +54, +2, +252, +135, +108, +31, +194, +175, +22, +220, +207, +247, +101, +94, +73, +175, +87, +245, +99, +152, +48, +70, +233, +190, +121, +69, +116, +157, +60, +74, +239, +147, +244, +188, +164, +93, +36, +253, +45, +79, +132, +173, +253, +247, +195, +54, +201, +88, +92, +182, +181, +221, +16, +5, +94, +17, +154, +40, +52, +130, +226, +102, +201, +40, +48, +231, +142, +119, +201, +12, +30, +81, +243, +40, +230, +17, +115, +138, +164, +207, +135, +16, +138, +180, +113, +79, +203, +28, +58, +59, +88, +212, +175, +141, +68, +156, +45, +233, +187, +192, +191, +66, +8, +249, +101, +94, +146, +81, +75, +182, +41, +247, +255, +132, +16, +238, +4, +8, +33, +220, +86, +210, +222, +161, +50, +195, +82, +144, +52, +81, +210, +190, +181, +123, +92, +99, +104, +186, +139, +136, +249, +178, +164, +78, +48, +1, +233, +28, +10, +220, +165, +176, +181, +235, +109, +148, +44, +59, +49, +161, +237, +212, +204, +249, +233, +84, +11, +102, +125, +219, +166, +62, +55, +5, +4, +151, +47, +254, +26, +161, +75, +53, +106, +77, +192, +220, +237, +30, +197, +150, +150, +221, +229, +1, +174, +243, +0, +126, +94, +196, +0, +31, +193, +92, +164, +14, +192, +92, +167, +86, +195, +118, +167, +140, +213, +185, +152, +207, +101, +31, +196, +116, +253, +223, +143, +208, +140, +245, +249, +189, +116, +183, +76, +204, +104, +244, +12, +166, +60, +121, +47, +166, +175, +56, +168, +162, +204, +21, +88, +58, +150, +40, +99, +81, +99, +107, +122, +42, +182, +164, +143, +188, +191, +9, +192, +16, +239, +99, +18, +141, +90, +78, +59, +47, +102, +163, +152, +137, +41, +121, +26, +219, +72, +42, +17, +121, +128, +66, +135, +11, +44, +140, +60, +187, +12, +188, +60, +70, +151, +43, +179, +47, +145, +120, +60, +44, +173, +203, +101, +164, +133, +87, +127, +145, +1, +69, +213, +233, +116, +153, +24, +153, +196, +173, +233, +73, +216, +146, +62, +55, +2, +108, +134, +105, +23, +155, +121, +232, +14, +173, +251, +57, +10, +140, +115, +173, +193, +31, +32, +235, +236, +121, +120, +17, +3, +228, +202, +36, +41, +130, +176, +244, +48, +49, +171, +92, +20, +245, +159, +96, +80, +157, +149, +78, +166, +109, +35, +199, +0, +19, +177, +81, +114, +136, +215, +113, +141, +250, +254, +11, +27, +233, +222, +234, +117, +157, +69, +36, +99, +121, +107, +240, +7, +200, +206, +77, +15, +116, +243, +67, +248, +215, +250, +78, +44, +213, +250, +54, +36, +6, +110, +118, +11, +18, +157, +76, +157, +54, +197, +27, +121, +127, +76, +203, +247, +146, +255, +47, +220, +168, +185, +77, +96, +166, +246, +71, +49, +211, +251, +27, +254, +28, +27, +20, +208, +110, +129, +5, +235, +118, +204, +193, +73, +50, +90, +190, +18, +48, +109, +219, +11, +192, +189, +152, +121, +177, +27, +6, +184, +16, +211, +78, +189, +234, +204, +244, +101, +250, +16, +54, +141, +237, +154, +113, +72, +230, +124, +15, +224, +225, +8, +93, +170, +55, +242, +54, +152, +60, +180, +4, +182, +81, +228, +255, +244, +250, +25, +34, +125, +168, +210, +4, +62, +132, +237, +243, +180, +24, +150, +225, +116, +124, +147, +70, +160, +124, +111, +251, +57, +2, +164, +59, +153, +38, +49, +74, +174, +204, +22, +68, +92, +179, +107, +246, +47, +41, +9, +86, +174, +76, +21, +3, +60, +5, +28, +219, +77, +191, +134, +8, +129, +35, +21, +84, +44, +237, +48, +129, +105, +111, +42, +132, +202, +26, +140, +50, +214, +135, +227, +39, +241, +189, +4, +122, +241, +92, +221, +0, +19, +176, +103, +0, +127, +198, +183, +252, +105, +82, +73, +45, +6, +160, +98, +89, +84, +179, +221, +221, +72, +136, +129, +115, +250, +170, +165, +93, +170, +147, +105, +42, +163, +252, +5, +243, +143, +92, +15, +91, +218, +165, +134, +163, +245, +53, +112, +5, +147, +181, +78, +195, +150, +151, +69, +94, +198, +173, +53, +86, +185, +44, +170, +81, +23, +152, +67, +106, +101, +12, +92, +98, +125, +169, +78, +166, +169, +140, +50, +3, +247, +247, +119, +134, +25, +145, +12, +144, +105, +247, +195, +20, +152, +181, +251, +221, +145, +249, +177, +180, +104, +51, +48, +97, +235, +253, +177, +23, +226, +12, +144, +18, +3, +55, +104, +132, +42, +123, +193, +36, +56, +153, +214, +96, +148, +251, +49, +211, +243, +242, +62, +26, +140, +40, +6, +192, +4, +191, +15, +99, +182, +128, +37, +48, +79, +237, +59, +122, +217, +96, +210, +15, +129, +217, +165, +31, +194, +188, +84, +214, +197, +252, +214, +138, +24, +32, +37, +6, +46, +153, +1, +106, +60, +75, +10, +163, +124, +8, +243, +25, +124, +12, +83, +198, +12, +73, +1, +231, +116, +89, +134, +159, +236, +140, +92, +217, +63, +204, +185, +101, +136, +74, +155, +193, +129, +58, +207, +98, +190, +141, +177, +228, +147, +139, +98, +102, +247, +23, +48, +129, +242, +58, +224, +29, +169, +239, +160, +54, +106, +48, +192, +36, +50, +91, +190, +224, +169, +81, +10, +234, +203, +154, +121, +63, +16, +123, +201, +189, +96, +128, +54, +17, +97, +248, +127, +149, +245, +15, +155, +62, +47, +246, +15, +99, +136, +241, +134, +193, +129, +58, +107, +251, +113, +235, +62, +154, +85, +94, +176, +221, +248, +4, +142, +211, +224, +144, +177, +178, +140, +24, +43, +103, +142, +87, +171, +160, +29, +169, +216, +87, +150, +12, +243, +158, +16, +194, +93, +146, +138, +108, +6, +203, +97, +17, +67, +151, +72, +250, +173, +164, +117, +67, +8, +67, +34, +151, +36, +29, +144, +169, +239, +30, +89, +130, +201, +131, +218, +238, +244, +160, +31, +152, +92, +170, +88, +73, +55, +118, +81, +247, +171, +210, +32, +179, +241, +204, +18, +218, +38, +49, +112, +35, +45, +141, +91, +42, +195, +79, +150, +180, +130, +164, +119, +135, +16, +126, +26, +203, +197, +236, +88, +89, +210, +3, +185, +250, +74, +61, +170, +154, +160, +81, +170, +216, +28, +138, +126, +136, +71, +52, +248, +203, +46, +203, +187, +115, +129, +164, +203, +100, +182, +236, +107, +20, +73, +247, +170, +116, +59, +122, +45, +43, +95, +139, +72, +101, +248, +141, +100, +161, +227, +119, +96, +22, +213, +162, +140, +34, +111, +104, +112, +90, +221, +222, +123, +104, +167, +12, +249, +46, +104, +84, +26, +141, +128, +207, +97, +42, +229, +53, +49, +147, +241, +173, +37, +50, +64, +74, +58, +180, +36, +59, +186, +211, +86, +90, +249, +48, +255, +132, +231, +177, +37, +232, +62, +152, +4, +253, +229, +46, +250, +119, +87, +86, +136, +164, +66, +149, +142, +121, +55, +95, +238, +178, +210, +144, +20, +59, +216, +166, +22, +71, +103, +206, +163, +129, +58, +88, +112, +75, +212, +70, +80, +11, +36, +26, +61, +82, +127, +8, +76, +177, +242, +83, +204, +64, +113, +63, +190, +45, +125, +132, +46, +245, +5, +39, +219, +209, +83, +0, +156, +138, +5, +184, +238, +131, +249, +213, +191, +72, +36, +147, +119, +141, +254, +229, +25, +126, +98, +74, +255, +128, +77, +137, +120, +241, +2, +135, +248, +123, +235, +8, +129, +209, +64, +29, +76, +11, +120, +15, +150, +0, +59, +26, +167, +153, +4, +18, +141, +30, +77, +127, +8, +138, +87, +11, +73, +47, +56, +21, +249, +250, +138, +218, +109, +90, +95, +9, +93, +158, +225, +119, +239, +178, +221, +128, +237, +199, +52, +141, +138, +64, +29, +108, +201, +184, +191, +51, +242, +119, +128, +101, +155, +182, +219, +169, +176, +107, +163, +71, +164, +206, +126, +41, +70, +122, +193, +0, +71, +210, +239, +157, +185, +26, +0, +120, +19, +150, +243, +32, +57, +197, +111, +214, +43, +120, +182, +209, +67, +182, +11, +70, +95, +247, +192, +29, +225, +56, +92, +210, +33, +178, +93, +73, +158, +144, +229, +228, +27, +49, +192, +100, +158, +3, +36, +221, +46, +233, +53, +153, +160, +89, +187, +146, +70, +70, +143, +145, +134, +30, +141, +0, +61, +79, +162, +221, +20, +216, +74, +98, +18, +230, +86, +215, +60, +7, +51, +13, +141, +30, +253, +6, +245, +157, +51, +187, +74, +38, +229, +245, +245, +60, +137, +118, +83, +96, +78, +60, +155, +54, +45, +159, +21, +42, +30, +151, +180, +49, +150, +219, +174, +112, +99, +167, +130, +78, +52, +94, +163, +250, +11, +78, +205, +36, +242, +93, +89, +14, +222, +53, +36, +45, +77, +220, +10, +217, +11, +125, +65, +146, +60, +132, +37, +153, +56, +20, +216, +147, +72, +242, +199, +58, +72, +21, +62, +67, +8, +219, +68, +242, +17, +55, +106, +48, +201, +232, +225, +180, +201, +155, +75, +37, +180, +155, +204, +0, +137, +245, +181, +173, +47, +72, +158, +82, +176, +112, +181, +89, +152, +175, +193, +184, +46, +159, +35, +137, +1, +134, +5, +46, +9, +175, +236, +12, +240, +28, +112, +68, +1, +221, +170, +192, +245, +152, +110, +225, +62, +96, +255, +8, +77, +7, +165, +105, +221, +72, +183, +142, +181, +173, +47, +168, +195, +0, +151, +96, +145, +193, +151, +23, +140, +78, +117, +219, +237, +139, +3, +106, +109, +164, +14, +249, +152, +139, +210, +165, +88, +36, +238, +22, +192, +187, +35, +52, +144, +150, +214, +173, +85, +235, +88, +13, +134, +74, +102, +128, +12, +205, +130, +152, +71, +111, +227, +47, +216, +219, +61, +154, +68, +79, +169, +190, +33, +245, +197, +57, +237, +12, +96, +231, +138, +250, +96, +112, +86, +175, +253, +137, +103, +39, +155, +157, +198, +206, +207, +63, +77, +119, +83, +79, +219, +12, +181, +16, +230, +15, +240, +44, +166, +8, +186, +22, +248, +65, +23, +245, +65, +13, +79, +41, +170, +125, +37, +219, +201, +75, +84, +231, +197, +249, +67, +140, +175, +168, +47, +207, +0, +69, +105, +221, +166, +147, +9, +65, +195, +28, +71, +186, +201, +98, +214, +54, +67, +157, +137, +169, +208, +215, +240, +247, +114, +15, +5, +89, +66, +18, +235, +131, +4, +79, +169, +204, +253, +42, +95, +201, +234, +188, +68, +41, +92, +82, +231, +197, +213, +96, +128, +148, +180, +110, +211, +128, +236, +246, +40, +221, +166, +177, +107, +155, +161, +166, +228, +126, +176, +131, +40, +200, +18, +146, +88, +31, +12, +94, +126, +70, +61, +165, +186, +69, +158, +91, +178, +38, +204, +89, +5, +101, +146, +236, +212, +12, +172, +34, +254, +140, +185, +92, +149, +249, +3, +252, +65, +210, +51, +178, +188, +185, +23, +73, +138, +249, +184, +223, +39, +219, +242, +165, +131, +85, +84, +226, +56, +82, +53, +36, +170, +125, +115, +235, +91, +101, +90, +194, +14, +158, +145, +45, +73, +219, +66, +52, +91, +56, +9, +70, +188, +50, +154, +65, +15, +29, +66, +88, +63, +132, +112, +91, +8, +97, +98, +8, +161, +200, +175, +44, +233, +197, +133, +16, +58, +46, +214, +219, +134, +16, +230, +13, +33, +148, +229, +34, +216, +222, +105, +198, +133, +16, +78, +8, +33, +196, +50, +127, +156, +39, +233, +176, +206, +212, +35, +233, +147, +178, +77, +160, +138, +112, +129, +164, +159, +73, +42, +218, +233, +35, +153, +161, +18, +231, +207, +71, +37, +45, +151, +57, +31, +39, +115, +254, +232, +6, +41, +158, +82, +79, +200, +156, +104, +86, +148, +169, +240, +99, +106, +234, +20, +26, +137, +180, +88, +185, +84, +59, +245, +252, +62, +140, +149, +234, +165, +243, +50, +64, +9, +93, +178, +117, +44, +5, +36, +154, +91, +157, +182, +114, +254, +4, +190, +128, +173, +96, +58, +66, +219, +100, +42, +194, +215, +43, +250, +135, +183, +187, +38, +176, +22, +240, +32, +240, +153, +138, +50, +149, +70, +188, +66, +26, +210, +99, +229, +82, +237, +212, +251, +49, +32, +20, +205, +78, +182, +156, +240, +236, +93, +129, +244, +229, +93, +219, +12, +53, +63, +38, +8, +62, +225, +245, +157, +22, +107, +183, +70, +125, +175, +99, +91, +249, +150, +102, +11, +39, +33, +114, +41, +133, +70, +164, +7, +85, +38, +189, +56, +10, +208, +232, +109, +212, +0, +195, +164, +47, +24, +46, +144, +96, +196, +75, +161, +17, +137, +177, +114, +35, +29, +140, +112, +125, +65, +219, +32, +193, +136, +87, +70, +147, +223, +147, +38, +101, +231, +142, +145, +142, +182, +189, +105, +251, +226, +158, +221, +5, +82, +140, +120, +213, +52, +36, +198, +202, +245, +27, +62, +4, +127, +25, +91, +103, +191, +72, +197, +14, +89, +140, +112, +125, +65, +219, +32, +193, +136, +151, +66, +35, +18, +99, +229, +250, +13, +224, +40, +108, +101, +50, +1, +75, +56, +89, +149, +76, +42, +105, +149, +82, +163, +253, +70, +12, +69, +130, +169, +25, +115, +72, +189, +39, +161, +174, +9, +254, +129, +150, +230, +17, +232, +26, +212, +216, +185, +131, +132, +240, +112, +224, +91, +153, +227, +111, +84, +220, +31, +162, +253, +243, +235, +183, +147, +176, +33, +99, +134, +62, +121, +121, +151, +88, +95, +35, +134, +34, +205, +212, +188, +31, +80, +169, +43, +192, +18, +64, +156, +76, +127, +54, +191, +170, +6, +105, +89, +179, +182, +0, +206, +247, +227, +205, +128, +239, +69, +104, +190, +207, +64, +98, +165, +243, +137, +120, +182, +96, +75, +160, +104, +218, +213, +130, +190, +13, +155, +190, +160, +87, +240, +15, +109, +124, +63, +219, +236, +26, +152, +143, +218, +134, +249, +227, +28, +205, +134, +157, +57, +221, +143, +127, +31, +161, +121, +53, +59, +4, +247, +27, +77, +24, +138, +244, +24, +139, +13, +128, +202, +116, +183, +206, +0, +133, +155, +89, +116, +131, +70, +95, +6, +105, +105, +216, +230, +41, +56, +46, +163, +139, +169, +139, +31, +80, +205, +45, +209, +219, +68, +8, +129, +16, +194, +151, +66, +8, +139, +251, +223, +137, +37, +241, +124, +29, +164, +169, +94, +165, +93, +53, +120, +197, +50, +8, +152, +95, +193, +129, +50, +27, +77, +105, +254, +162, +146, +58, +90, +221, +158, +166, +142, +198, +112, +171, +204, +20, +48, +123, +58, +200, +209, +124, +31, +216, +210, +143, +207, +39, +226, +64, +129, +69, +20, +61, +142, +185, +91, +173, +74, +65, +86, +210, +145, +10, +10, +84, +175, +192, +58, +152, +215, +210, +129, +37, +101, +193, +164, +247, +198, +35, +32, +169, +219, +211, +144, +184, +220, +162, +70, +118, +45, +50, +187, +112, +17, +17, +22, +169, +16, +18, +253, +250, +60, +152, +38, +110, +42, +166, +208, +24, +178, +153, +196, +72, +3, +105, +234, +217, +75, +171, +158, +5, +179, +104, +30, +139, +41, +233, +150, +232, +93, +143, +149, +190, +220, +98, +4, +106, +12, +201, +8, +138, +20, +8, +141, +62, +143, +79, +194, +86, +57, +189, +203, +185, +171, +100, +245, +236, +244, +148, +121, +29, +203, +23, +12, +176, +69, +131, +126, +108, +130, +173, +253, +241, +81, +180, +216, +199, +144, +196, +229, +22, +137, +217, +181, +250, +9, +127, +200, +45, +242, +199, +57, +154, +77, +129, +5, +48, +199, +147, +194, +36, +74, +88, +142, +223, +117, +75, +238, +167, +216, +223, +83, +212, +179, +47, +146, +152, +151, +209, +127, +192, +241, +41, +180, +145, +178, +99, +189, +124, +212, +16, +151, +21, +2, +87, +151, +84, +232, +114, +148, +193, +100, +89, +86, +139, +87, +178, +127, +77, +58, +215, +34, +158, +245, +191, +252, +241, +108, +132, +16, +110, +10, +33, +188, +44, +105, +99, +21, +36, +190, +192, +172, +109, +71, +75, +90, +172, +164, +173, +20, +1, +47, +69, +61, +123, +147, +164, +99, +48, +185, +102, +107, +224, +240, +146, +54, +123, +15, +18, +151, +91, +140, +64, +141, +33, +150, +24, +105, +217, +252, +113, +132, +110, +83, +204, +89, +51, +186, +247, +31, +3, +123, +238, +60, +133, +201, +28, +165, +31, +4, +197, +2, +94, +138, +122, +118, +101, +44, +170, +231, +37, +76, +183, +80, +168, +134, +247, +169, +235, +44, +26, +200, +1, +85, +35, +64, +150, +240, +30, +224, +184, +196, +74, +187, +218, +235, +151, +8, +34, +52, +233, +243, +87, +90, +155, +219, +96, +49, +244, +11, +39, +244, +173, +208, +157, +155, +97, +200, +28, +138, +233, +11, +254, +66, +131, +152, +196, +58, +12, +208, +183, +229, +150, +119, +104, +208, +190, +194, +5, +116, +105, +157, +79, +107, +243, +101, +204, +148, +59, +201, +255, +162, +158, +74, +9, +12, +80, +41, +224, +141, +36, +84, +189, +195, +172, +226, +229, +44, +153, +99, +227, +143, +37, +45, +33, +233, +247, +254, +215, +43, +188, +222, +79, +217, +33, +132, +208, +86, +82, +169, +141, +36, +237, +229, +123, +249, +172, +221, +82, +157, +195, +134, +217, +66, +96, +8, +97, +86, +8, +225, +216, +16, +194, +10, +178, +132, +77, +61, +223, +233, +123, +14, +69, +227, +32, +218, +57, +6, +192, +210, +68, +182, +119, +105, +177, +254, +74, +25, +192, +233, +42, +167, +0, +90, +206, +8, +134, +109, +206, +176, +101, +201, +253, +228, +32, +218, +132, +182, +160, +197, +192, +216, +130, +54, +234, +77, +163, +192, +95, +49, +19, +232, +39, +11, +238, +39, +101, +9, +199, +76, +161, +215, +3, +167, +71, +238, +181, +38, +3, +144, +184, +239, +79, +42, +48, +111, +222, +51, +129, +69, +128, +229, +170, +75, +116, +213, +86, +33, +3, +84, +49, +54, +166, +71, +184, +25, +216, +190, +164, +254, +77, +48, +33, +29, +103, +216, +238, +130, +77, +169, +145, +37, +28, +183, +153, +3, +255, +136, +220, +75, +226, +252, +218, +220, +91, +94, +87, +210, +22, +114, +152, +13, +99, +18, +230, +149, +219, +120, +107, +218, +196, +62, +149, +49, +64, +41, +99, +99, +91, +218, +126, +25, +75, +233, +51, +242, +224, +35, +197, +117, +196, +13, +69, +173, +48, +0, +17, +148, +212, +85, +26, +59, +55, +28, +72, +125, +15, +37, +229, +199, +151, +61, +115, +207, +224, +29, +239, +54, +244, +185, +235, +41, +32, +181, +158, +145, +138, +34, +6, +32, +81, +7, +50, +34, +25, +128, +52, +93, +121, +229, +151, +75, +194, +252, +149, +242, +5, +213, +25, +37, +218, +0, +53, +236, +239, +101, +253, +175, +98, +254, +12, +205, +235, +192, +129, +64, +163, +101, +110, +62, +89, +244, +78, +88, +182, +203, +87, +129, +235, +155, +84, +168, +4, +93, +121, +136, +32, +66, +115, +115, +8, +97, +5, +191, +189, +124, +8, +97, +200, +198, +201, +53, +176, +179, +6, +187, +187, +247, +18, +41, +1, +182, +173, +32, +132, +48, +69, +210, +30, +50, +29, +78, +101, +36, +114, +229, +71, +128, +237, +85, +123, +18, +182, +9, +65, +97, +182, +201, +178, +17, +32, +71, +215, +122, +194, +201, +72, +63, +170, +70, +146, +202, +81, +194, +233, +170, +178, +143, +125, +17, +91, +33, +188, +132, +173, +148, +186, +86, +2, +181, +48, +2, +44, +129, +153, +231, +143, +37, +109, +251, +219, +78, +220, +226, +154, +157, +107, +121, +129, +104, +5, +73, +215, +132, +16, +166, +135, +16, +158, +80, +3, +208, +255, +132, +147, +93, +127, +221, +164, +101, +31, +123, +70, +22, +145, +252, +14, +89, +100, +241, +144, +200, +228, +126, +79, +55, +146, +214, +145, +237, +168, +126, +86, +8, +225, +153, +42, +226, +16, +194, +164, +206, +223, +144, +155, +88, +98, +35, +112, +75, +88, +89, +69, +101, +35, +0, +125, +212, +149, +167, +124, +221, +189, +248, +81, +48, +7, +214, +162, +93, +77, +146, +133, +210, +22, +70, +128, +174, +133, +192, +172, +42, +120, +23, +63, +220, +221, +213, +193, +77, +177, +145, +164, +175, +135, +16, +238, +84, +129, +93, +29, +248, +33, +112, +35, +22, +199, +119, +66, +228, +254, +246, +126, +255, +111, +180, +227, +14, +93, +58, +74, +52, +96, +146, +247, +72, +122, +168, +224, +222, +235, +41, +126, +18, +12, +56, +210, +118, +19, +101, +212, +110, +144, +106, +217, +151, +157, +74, +71, +194, +46, +91, +192, +124, +254, +127, +94, +226, +249, +128, +110, +195, +20, +29, +75, +2, +255, +172, +232, +71, +233, +23, +87, +99, +148, +72, +250, +114, +125, +100, +123, +30, +216, +175, +97, +91, +203, +96, +94, +73, +39, +97, +171, +155, +104, +230, +175, +170, +17, +0, +155, +255, +191, +65, +133, +207, +66, +45, +164, +50, +64, +69, +29, +41, +206, +16, +159, +192, +66, +157, +174, +35, +238, +80, +49, +37, +118, +92, +208, +223, +210, +47, +183, +6, +3, +164, +102, +43, +189, +25, +248, +97, +23, +253, +153, +142, +169, +113, +175, +39, +18, +43, +145, +161, +171, +98, +128, +23, +48, +231, +150, +230, +249, +129, +11, +30, +160, +231, +217, +41, +49, +149, +236, +155, +253, +75, +24, +178, +124, +193, +166, +134, +37, +48, +245, +237, +109, +93, +182, +85, +249, +117, +215, +100, +128, +153, +148, +251, +18, +116, +173, +152, +162, +109, +29, +126, +141, +134, +251, +197, +0, +231, +96, +6, +167, +223, +19, +223, +36, +114, +107, +76, +6, +184, +145, +76, +166, +172, +134, +109, +165, +142, +18, +165, +52, +53, +218, +234, +169, +117, +175, +167, +232, +23, +3, +140, +52, +212, +249, +114, +49, +69, +217, +222, +37, +245, +204, +81, +12, +208, +52, +52, +44, +201, +178, +54, +135, +33, +73, +122, +87, +181, +228, +61, +95, +183, +83, +192, +136, +7, +213, +89, +41, +91, +217, +89, +188, +162, +15, +251, +249, +124, +220, +181, +16, +212, +214, +151, +91, +103, +42, +1, +62, +6, +252, +185, +219, +54, +11, +234, +190, +24, +184, +164, +23, +117, +167, +52, +222, +218, +206, +226, +37, +109, +28, +136, +45, +55, +95, +109, +145, +1, +250, +102, +85, +196, +18, +99, +79, +163, +100, +163, +7, +239, +199, +195, +192, +123, +234, +220, +243, +251, +189, +241, +232, +162, +69, +87, +109, +74, +60, +94, +170, +166, +24, +103, +176, +85, +48, +75, +216, +16, +6, +192, +118, +61, +123, +8, +243, +2, +62, +51, +161, +47, +201, +95, +110, +27, +240, +175, +191, +52, +49, +68, +83, +6, +160, +194, +163, +171, +107, +80, +189, +62, +77, +181, +101, +23, +122, +188, +144, +232, +188, +225, +109, +196, +24, +96, +77, +175, +127, +93, +224, +209, +212, +103, +235, +23, +176, +192, +208, +115, +170, +41, +251, +136, +178, +47, +50, +71, +151, +106, +167, +46, +165, +105, +3, +69, +12, +224, +247, +174, +195, +242, +23, +124, +164, +151, +125, +104, +2, +204, +234, +250, +209, +4, +58, +40, +214, +184, +22, +222, +171, +131, +236, +23, +118, +128, +164, +159, +43, +109, +227, +230, +86, +80, +244, +16, +109, +60, +92, +8, +97, +43, +73, +235, +75, +58, +173, +155, +122, +98, +160, +194, +233, +195, +251, +191, +62, +166, +210, +126, +58, +82, +197, +210, +50, +235, +226, +176, +99, +118, +96, +72, +8, +97, +150, +164, +163, +74, +104, +231, +24, +0, +43, +134, +16, +30, +149, +25, +163, +26, +167, +108, +47, +65, +138, +211, +199, +143, +37, +157, +44, +41, +230, +21, +20, +100, +73, +183, +135, +29, +35, +198, +65, +178, +101, +252, +10, +184, +79, +210, +197, +138, +4, +111, +96, +18, +255, +195, +46, +40, +78, +136, +220, +47, +253, +194, +19, +179, +170, +255, +44, +132, +240, +235, +16, +66, +76, +216, +251, +183, +164, +158, +239, +108, +78, +66, +130, +173, +178, +20, +238, +115, +44, +66, +8, +27, +87, +144, +156, +39, +105, +127, +73, +79, +75, +186, +66, +150, +218, +61, +139, +54, +220, +186, +162, +123, +47, +59, +110, +147, +57, +150, +244, +26, +209, +80, +249, +44, +230, +74, +6, +72, +192, +24, +217, +143, +60, +83, +17, +205, +94, +8, +33, +187, +55, +112, +211, +31, +170, +76, +155, +120, +165, +164, +126, +164, +154, +171, +100, +128, +236, +222, +193, +147, +128, +189, +122, +222, +165, +22, +225, +14, +163, +77, +172, +133, +31, +151, +244, +11, +73, +87, +169, +32, +190, +175, +45, +41, +187, +0, +23, +72, +90, +145, +18, +115, +112, +75, +72, +103, +0, +89, +186, +182, +170, +117, +247, +38, +146, +110, +240, +211, +235, +138, +214, +248, +35, +29, +33, +132, +203, +67, +8, +111, +247, +29, +74, +174, +168, +91, +30, +184, +149, +72, +196, +83, +141, +246, +159, +147, +116, +156, +164, +83, +154, +214, +145, +216, +206, +86, +77, +125, +59, +27, +131, +26, +182, +236, +94, +46, +3, +187, +69, +197, +26, +124, +34, +112, +107, +147, +178, +13, +250, +176, +89, +183, +245, +164, +54, +54, +29, +88, +186, +47, +141, +205, +1, +24, +78, +38, +196, +92, +225, +198, +99, +187, +169, +22, +186, +231, +183, +129, +172, +16, +56, +70, +115, +192, +254, +0, +48, +160, +167, +207, +7, +148, +0, +127, +146, +116, +73, +8, +225, +59, +125, +239, +88, +187, +120, +80, +210, +235, +146, +142, +239, +219, +16, +142, +5, +60, +12, +91, +74, +214, +84, +96, +134, +144, +29, +178, +140, +144, +185, +183, +9, +102, +101, +91, +40, +114, +111, +54, +18, +219, +25, +246, +105, +168, +31, +200, +239, +24, +18, +29, +1, +24, +65, +14, +32, +238, +172, +17, +219, +86, +78, +33, +132, +155, +37, +61, +37, +105, +136, +199, +174, +99, +130, +122, +31, +26, +150, +12, +103, +178, +174, +77, +207, +221, +48, +107, +18, +3, +168, +100, +15, +190, +178, +47, +203, +231, +178, +31, +3, +209, +31, +172, +71, +248, +179, +236, +135, +142, +225, +181, +94, +230, +37, +42, +250, +65, +49, +155, +192, +196, +94, +181, +219, +13, +146, +100, +128, +16, +194, +78, +37, +117, +148, +77, +27, +231, +200, +18, +77, +237, +89, +191, +107, +141, +113, +155, +164, +227, +187, +173, +36, +22, +176, +218, +5, +222, +144, +134, +238, +250, +57, +18, +208, +181, +16, +24, +141, +51, +27, +184, +183, +143, +36, +1, +63, +174, +223, +181, +198, +120, +70, +150, +237, +108, +196, +32, +132, +240, +238, +58, +244, +190, +196, +36, +132, +176, +97, +238, +250, +169, +146, +246, +13, +33, +188, +189, +173, +190, +205, +113, +171, +128, +4, +228, +183, +182, +157, +19, +81, +212, +255, +117, +36, +253, +178, +205, +134, +178, +230, +224, +57, +253, +165, +117, +176, +148, +70, +136, +173, +189, +10, +69, +239, +188, +100, +196, +120, +151, +164, +99, +218, +236, +195, +220, +104, +14, +126, +135, +76, +14, +72, +134, +11, +111, +255, +47, +114, +125, +68, +9, +111, +158, +48, +163, +219, +13, +169, +7, +161, +47, +12, +80, +177, +115, +120, +219, +216, +70, +102, +228, +169, +131, +55, +36, +197, +182, +100, +107, +69, +120, +115, +219, +65, +97, +144, +235, +112, +98, +142, +51, +7, +251, +50, +43, +154, +116, +194, +173, +107, +43, +202, +150, +173, +117, +240, +134, +164, +151, +242, +23, +235, +10, +111, +37, +24, +177, +211, +235, +28, +199, +0, +146, +94, +46, +185, +247, +37, +73, +159, +117, +107, +91, +12, +111, +2, +222, +28, +209, +5, +204, +82, +124, +4, +104, +5, +69, +140, +228, +186, +147, +5, +134, +115, +191, +133, +57, +142, +1, +202, +132, +213, +16, +194, +206, +21, +197, +255, +216, +33, +205, +93, +143, +142, +0, +255, +23, +48, +199, +49, +64, +83, +84, +172, +114, +138, +100, +128, +57, +2, +221, +172, +224, +230, +198, +85, +64, +19, +204, +82, +100, +4, +0, +78, +165, +96, +71, +180, +185, +5, +255, +103, +70, +128, +50, +132, +16, +22, +45, +184, +213, +186, +226, +101, +20, +35, +16, +20, +196, +252, +187, +103, +211, +26, +53, +234, +105, +197, +186, +215, +79, +140, +142, +0, +134, +34, +141, +92, +173, +108, +105, +115, +145, +54, +117, +20, +163, +24, +197, +40, +70, +49, +138, +81, +140, +98, +20, +163, +24, +197, +40, +70, +49, +138, +81, +140, +98, +20, +163, +24, +197, +40, +70, +49, +138, +81, +204, +37, +248, +255, +129, +51, +157, +250, +111, +139, +157, +153, +0, +0, +0, +0, +73, +69, +78, +68, +174, +66, +96, +130, +}; diff --git a/scene/resources/default_theme/font_mono.png b/scene/resources/default_theme/font_mono.png Binary files differdeleted file mode 100644 index 8a50dccf44..0000000000 --- a/scene/resources/default_theme/font_mono.png +++ /dev/null diff --git a/scene/resources/default_theme/font_normal.inc b/scene/resources/default_theme/font_normal.inc deleted file mode 100644 index 0555c8160d..0000000000 --- a/scene/resources/default_theme/font_normal.inc +++ /dev/null @@ -1,65741 +0,0 @@ -static const int _builtin_normal_font_height=13; -static const int _builtin_normal_font_ascent=11; -static const int _builtin_normal_font_charcount=191; -static const int _builtin_normal_font_charrects[191][8]={ -/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ -{224,222,75,7,10,1,0,7}, -{192,94,2,9,12,-1,0,8}, -{64,35,2,12,12,2,0,12}, -{96,109,104,4,2,1,0,4}, -{160,0,0,0,0,11,0,3}, -{32,0,0,0,0,11,0,3}, -{33,64,107,2,9,2,1,3}, -{225,233,66,7,10,1,0,7}, -{193,107,2,9,12,-1,0,8}, -{65,224,2,9,9,2,0,8}, -{161,243,93,3,9,4,0,3}, -{97,244,51,7,7,4,0,7}, -{98,151,47,7,10,1,0,7}, -{226,244,62,7,10,1,0,7}, -{194,120,2,9,12,-1,0,8}, -{162,200,57,7,11,2,0,7}, -{66,24,58,7,9,2,1,8}, -{34,117,104,4,4,1,0,4}, -{35,38,45,8,9,2,0,8}, -{195,28,28,9,13,-2,0,8}, -{227,211,57,7,11,0,0,7}, -{67,26,45,8,9,2,0,8}, -{163,140,17,8,9,2,0,8}, -{99,24,71,7,7,4,0,7}, -{100,118,44,7,10,1,0,7}, -{228,13,87,7,10,1,0,7}, -{164,159,2,9,10,2,0,9}, -{36,162,47,7,13,0,0,7}, -{196,172,2,9,12,-1,0,8}, -{68,46,58,7,9,2,1,9}, -{37,211,15,9,9,2,0,10}, -{69,112,61,7,9,2,1,8}, -{165,176,28,8,9,2,0,8}, -{197,67,28,9,14,-3,0,8}, -{229,13,71,7,12,-1,0,7}, -{101,35,71,7,7,4,0,7}, -{38,14,45,8,9,2,0,8}, -{70,101,61,7,9,2,1,8}, -{198,2,2,13,9,2,-1,12}, -{166,9,117,3,11,2,0,3}, -{102,47,96,5,10,1,0,4}, -{230,51,13,11,7,4,0,11}, -{71,164,18,8,9,2,0,9}, -{231,24,82,7,10,4,0,7}, -{199,188,28,8,12,2,0,8}, -{167,200,28,8,12,2,0,8}, -{103,189,57,7,10,4,0,7}, -{39,46,110,2,4,1,0,2}, -{72,152,30,8,9,2,1,9}, -{232,2,75,7,10,1,0,7}, -{40,83,105,5,13,1,0,4}, -{200,79,75,7,12,-1,1,8}, -{104,167,64,7,10,1,0,7}, -{168,38,96,5,2,1,1,6}, -{73,58,107,2,9,2,1,4}, -{169,66,2,10,9,2,0,10}, -{233,211,72,7,10,1,0,7}, -{41,173,103,4,13,1,0,4}, -{201,90,74,7,12,-1,1,8}, -{105,16,117,2,11,0,1,3}, -{234,200,72,7,10,1,0,7}, -{106,221,102,4,14,0,-1,3}, -{202,101,74,7,12,-1,1,8}, -{42,123,83,6,6,2,0,6}, -{170,65,97,5,5,2,0,6}, -{74,90,61,7,9,2,0,7}, -{171,233,80,6,5,5,0,6}, -{43,74,46,7,8,3,0,7}, -{107,145,61,7,10,1,0,7}, -{203,112,74,7,12,-1,1,8}, -{235,189,71,7,10,1,0,7}, -{75,152,17,8,9,2,1,8}, -{172,222,68,7,3,6,0,7}, -{44,52,110,2,4,10,0,3}, -{108,40,102,2,10,1,1,3}, -{204,213,102,4,12,-1,-1,4}, -{236,141,97,4,10,1,-1,3}, -{76,243,80,6,9,2,1,7}, -{173,125,98,4,1,7,0,4}, -{45,125,93,4,1,7,0,4}, -{109,51,2,11,7,4,0,11}, -{205,181,103,4,12,-1,0,4}, -{237,149,94,4,10,1,0,3}, -{77,80,2,10,9,2,1,11}, -{46,34,112,2,2,9,1,3}, -{110,57,72,7,7,4,0,7}, -{206,133,97,4,12,-1,0,4}, -{238,157,103,4,10,1,0,3}, -{174,66,15,10,9,2,0,10}, -{78,128,31,8,9,2,1,9}, -{175,143,87,6,1,2,0,6}, -{111,68,72,7,7,4,0,7}, -{47,163,89,6,10,2,0,5}, -{207,29,96,5,12,-1,0,4}, -{239,92,104,5,10,1,-1,3}, -{79,198,15,9,9,2,0,9}, -{176,74,105,5,4,2,0,5}, -{112,112,90,7,10,4,0,7}, -{240,134,72,7,10,1,0,8}, -{208,185,2,9,9,2,0,9}, -{80,68,59,7,9,2,1,8}, -{48,35,58,7,9,2,0,7}, -{177,145,75,7,8,3,0,7}, -{113,101,90,7,10,4,0,7}, -{81,133,2,9,11,2,0,9}, -{241,233,51,7,11,0,0,7}, -{209,140,30,8,13,-2,1,9}, -{49,189,100,4,9,2,1,7}, -{178,20,101,5,6,2,0,6}, -{114,2,89,5,7,4,0,4}, -{210,54,28,9,12,-1,0,9}, -{242,173,47,7,10,1,0,7}, -{82,57,59,7,9,2,1,9}, -{50,13,58,7,9,2,0,7}, -{179,56,97,5,6,2,0,6}, -{115,123,72,7,7,4,0,7}, -{211,41,24,9,12,-1,0,9}, -{243,140,47,7,10,1,0,7}, -{83,104,31,8,9,2,0,8}, -{51,2,47,7,9,2,0,7}, -{180,101,104,4,2,1,0,4}, -{116,205,99,4,9,2,0,5}, -{244,156,64,7,10,1,0,7}, -{212,2,15,9,12,-1,0,9}, -{84,104,18,8,9,2,0,8}, -{52,224,22,8,9,2,0,7}, -{53,239,38,7,9,2,0,7}, -{85,92,26,8,9,2,0,9}, -{213,15,28,9,13,-2,0,9}, -{117,46,71,7,7,4,0,7}, -{181,79,91,7,10,4,0,7}, -{245,2,60,7,11,0,0,7}, -{54,228,38,7,9,2,0,7}, -{86,211,2,9,9,2,0,8}, -{182,203,86,6,9,2,0,6}, -{214,237,2,9,12,-1,0,9}, -{246,123,58,7,10,1,0,7}, -{118,222,57,7,7,4,0,7}, -{87,19,15,12,9,2,0,11}, -{55,217,44,7,9,2,0,7}, -{247,156,78,7,7,3,0,7}, -{119,80,15,10,7,4,0,10}, -{215,178,72,7,6,4,0,7}, -{183,22,111,2,2,6,1,3}, -{88,62,46,8,9,2,0,8}, -{248,129,44,7,9,3,0,7}, -{216,146,2,9,11,1,0,9}, -{56,206,44,7,9,2,0,7}, -{120,178,61,7,7,4,0,7}, -{184,2,100,3,3,11,0,3}, -{217,164,31,8,12,-1,0,9}, -{249,90,90,7,10,1,0,7}, -{121,68,83,7,10,4,0,7}, -{57,195,44,7,9,2,0,7}, -{89,80,26,8,9,2,0,8}, -{185,236,98,3,6,2,0,4}, -{218,212,28,8,12,-1,0,9}, -{250,57,83,7,10,1,0,7}, -{90,128,18,8,9,2,0,8}, -{122,167,78,7,7,4,0,7}, -{58,70,113,2,7,4,1,3}, -{186,183,85,6,5,2,0,6}, -{59,250,93,3,10,4,0,3}, -{91,197,100,4,13,0,0,4}, -{219,236,22,8,12,-1,0,9}, -{123,11,101,5,12,1,0,4}, -{251,46,82,7,10,1,0,7}, -{187,233,89,6,5,5,0,6}, -{188,185,15,9,9,2,1,10}, -{92,193,86,6,10,2,0,5}, -{252,35,82,7,10,1,0,7}, -{220,2,31,8,12,-1,0,9}, -{124,28,112,2,11,2,1,3}, -{60,133,86,6,7,4,0,7}, -{189,198,2,9,9,2,1,11}, -{93,229,98,3,13,0,0,4}, -{253,107,44,7,13,1,0,7}, -{221,116,18,8,12,-1,0,8}, -{125,165,103,4,12,1,0,4}, -{61,184,44,7,6,4,0,7}, -{190,19,2,12,9,2,0,11}, -{222,85,39,7,9,2,1,8}, -{254,96,44,7,13,1,0,8}, -{62,134,61,7,7,4,0,7}, -{94,223,89,6,5,2,0,5}, -{126,224,15,9,3,6,0,9}, -{223,50,44,8,10,1,0,8}, -{255,79,58,7,13,1,0,7}, -{191,173,89,6,10,4,0,6}, -{63,213,89,6,9,2,0,6}, -{95,153,89,6,1,11,0,6}, -}; -static const int _builtin_normal_font_kerning_pair_count=0; -static const int _builtin_normal_font_kerning_pairs[1][3]={ -{0,0,0} -}; -static const int _builtin_normal_font_img_width=256; -static const int _builtin_normal_font_img_height=256; -static const unsigned char _builtin_normal_font_img_data[131072]={ -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,206, -255,255, -255,255, -255,255, -255,255, -255,255, -255,152, -0,0, -0,0, -0,0, -0,0, -255,7, -255,178, -255,247, -255,217, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,188, -255,241, -255,247, -255,210, -255,118, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,132, -255,224, -255,242, -255,124, -255,71, -255,222, -255,239, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,182, -255,242, -255,245, -255,193, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -255,133, -255,253, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,229, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,255, -255,255, -255,248, -255,205, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,119, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,171, -255,169, -0,0, -0,0, -0,0, -0,0, -255,110, -255,225, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,141, -255,255, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,95, -255,16, -255,172, -255,135, -0,0, -0,0, -255,114, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,215, -255,80, -255,15, -255,9, -255,49, -255,164, -255,182, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,138, -255,20, -255,103, -255,255, -255,184, -255,25, -255,63, -255,252, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,217, -255,84, -255,15, -255,10, -255,72, -255,209, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,191, -255,80, -0,0, -0,0, -0,0, -255,2, -255,191, -255,226, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,151, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,247, -255,205, -255,170, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,231, -255,114, -255,194, -255,243, -255,217, -255,117, -255,207, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -255,15, -255,91, -255,241, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,132, -0,0, -0,0, -255,114, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,243, -255,8, -0,0, -0,0, -0,0, -255,194, -255,129, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,234, -255,21, -255,247, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,246, -255,44, -0,0, -255,42, -255,196, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,216, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -255,2, -255,251, -255,89, -0,0, -0,0, -255,214, -255,103, -0,0, -0,0, -0,0, -0,0, -255,12, -255,212, -255,25, -255,110, -255,235, -255,235, -255,106, -255,13, -255,208, -255,30, -0,0, -0,0, -0,0, -0,0, -255,220, -255,107, -255,175, -0,0, -0,0, -0,0, -255,72, -255,127, -255,233, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,19, -255,108, -255,255, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,250, -255,122, -255,47, -255,85, -255,227, -255,233, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -0,0, -0,0, -255,104, -255,236, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -0,0, -255,42, -255,196, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,228, -255,81, -0,0, -0,0, -255,24, -255,251, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,183, -255,135, -0,0, -255,236, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,111, -255,15, -255,150, -255,164, -255,4, -255,196, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,193, -255,70, -0,0, -255,63, -255,217, -255,246, -255,169, -255,4, -255,31, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,244, -255,80, -0,0, -0,0, -255,204, -255,116, -0,0, -0,0, -0,0, -0,0, -255,80, -255,125, -255,27, -255,231, -255,32, -255,34, -255,240, -255,5, -255,94, -255,112, -0,0, -0,0, -0,0, -0,0, -255,220, -255,88, -255,183, -255,23, -0,0, -0,0, -255,168, -255,34, -255,241, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -255,183, -255,161, -255,231, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,120, -0,0, -0,0, -0,0, -255,48, -255,249, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -0,0, -0,0, -255,32, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -255,4, -255,196, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,165, -0,0, -0,0, -255,106, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,242, -255,18, -0,0, -255,226, -255,255, -255,255, -255,255, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -255,12, -255,185, -255,248, -255,219, -255,66, -255,128, -255,115, -0,0, -255,50, -255,247, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,230, -255,1, -255,15, -255,236, -255,81, -255,14, -255,246, -0,0, -0,0, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,244, -255,80, -0,0, -0,0, -255,204, -255,116, -0,0, -0,0, -0,0, -0,0, -255,106, -255,89, -255,58, -255,189, -0,0, -0,0, -0,0, -0,0, -255,58, -255,138, -0,0, -0,0, -0,0, -0,0, -255,220, -255,96, -255,94, -255,115, -0,0, -255,17, -255,188, -0,0, -255,248, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -255,90, -255,159, -255,37, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -255,210, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,255, -255,255, -255,255, -255,84, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -255,128, -255,120, -255,168, -255,245, -255,211, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,240, -255,7, -0,0, -255,190, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,230, -255,156, -255,36, -255,36, -255,222, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,189, -255,2, -255,20, -255,205, -255,220, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,186, -0,0, -255,92, -255,195, -0,0, -255,23, -255,225, -0,0, -0,0, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,244, -255,80, -0,0, -0,0, -255,204, -255,116, -0,0, -0,0, -0,0, -0,0, -255,79, -255,126, -255,28, -255,231, -255,30, -255,8, -255,76, -255,2, -255,95, -255,111, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,11, -255,201, -0,0, -255,108, -255,102, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -255,18, -255,211, -255,18, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -255,14, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -255,210, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -0,0, -0,0, -255,32, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,189, -255,31, -255,134, -255,18, -255,184, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,195, -255,77, -255,21, -255,237, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,255, -255,255, -255,255, -255,255, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,201, -255,34, -255,3, -255,177, -255,54, -255,192, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,173, -0,0, -255,135, -255,151, -0,0, -255,49, -255,201, -0,0, -255,3, -255,209, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,244, -255,80, -0,0, -0,0, -255,204, -255,116, -0,0, -0,0, -0,0, -0,0, -255,11, -255,212, -255,25, -255,113, -255,235, -255,243, -255,156, -255,13, -255,208, -255,29, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,163, -255,53, -255,197, -255,16, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,231, -255,2, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,2, -255,157, -255,91, -0,0, -255,39, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,118, -0,0, -0,0, -0,0, -255,46, -255,249, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -0,0, -0,0, -255,105, -255,238, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,201, -255,34, -0,0, -0,0, -255,71, -255,221, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,161, -255,102, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,253, -255,90, -0,0, -0,0, -0,0, -255,194, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,102, -0,0, -255,96, -255,255, -255,255, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,55, -255,192, -0,0, -255,122, -255,186, -255,12, -255,128, -255,198, -0,0, -255,111, -255,131, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,217, -255,83, -255,14, -255,10, -255,71, -255,208, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,69, -255,192, -255,171, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,254, -255,121, -255,184, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -255,4, -255,187, -255,249, -255,118, -255,42, -255,81, -255,225, -255,241, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,148, -0,0, -255,15, -255,91, -255,241, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,102, -0,0, -255,4, -255,135, -255,201, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,225, -255,185, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,205, -255,181, -0,0, -0,0, -0,0, -0,0, -255,182, -255,255, -255,255, -255,255, -255,255, -255,252, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,237, -255,11, -255,27, -255,215, -255,235, -255,89, -255,195, -255,213, -255,154, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,182, -255,243, -255,246, -255,194, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,2, -255,228, -255,78, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,212, -255,249, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,255, -255,81, -255,15, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,202, -255,98, -255,198, -255,244, -255,219, -255,115, -255,177, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,255, -255,255, -255,249, -255,206, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,185, -255,224, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,221, -255,150, -255,41, -255,6, -255,23, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,103, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,144, -255,223, -255,249, -255,224, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,219, -255,248, -255,198, -255,61, -255,172, -255,246, -255,219, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,253, -255,86, -255,11, -255,167, -255,255, -255,170, -255,16, -255,62, -255,246, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,178, -0,0, -0,0, -255,6, -255,246, -255,96, -0,0, -0,0, -255,74, -255,238, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,44, -0,0, -0,0, -255,88, -255,255, -255,38, -0,0, -0,0, -255,194, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,182, -255,242, -255,245, -255,193, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,165, -0,0, -0,0, -255,188, -255,139, -0,0, -0,0, -255,212, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,119, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,163, -255,243, -255,186, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,240, -255,211, -255,75, -0,0, -255,2, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,231, -0,0, -0,0, -255,61, -255,238, -255,161, -0,0, -0,0, -255,127, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,157, -255,227, -255,247, -255,250, -255,255, -255,255, -255,255, -255,255, -255,255, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,217, -255,84, -255,15, -255,10, -255,72, -255,209, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,225, -0,0, -255,11, -255,196, -255,202, -0,0, -255,14, -255,252, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,132, -0,0, -0,0, -255,114, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,194, -255,12, -255,160, -255,103, -0,0, -255,150, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,227, -255,37, -255,82, -255,231, -255,173, -255,174, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,252, -255,30, -0,0, -255,126, -255,142, -255,224, -0,0, -0,0, -255,180, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,219, -255,39, -255,4, -255,86, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,212, -255,25, -255,204, -255,255, -255,240, -255,134, -255,13, -255,208, -255,30, -0,0, -0,0, -0,0, -0,0, -255,9, -255,247, -255,28, -255,76, -255,138, -255,194, -255,27, -255,69, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,147, -255,236, -255,236, -255,154, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,3, -255,186, -255,172, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -0,0, -255,42, -255,196, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -255,80, -255,165, -0,0, -255,126, -255,115, -255,74, -255,169, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,29, -0,0, -0,0, -255,21, -255,110, -255,116, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,203, -255,84, -0,0, -255,191, -255,54, -255,204, -255,36, -0,0, -255,233, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,137, -255,202, -255,16, -255,37, -255,174, -255,247, -255,167, -255,22, -255,19, -255,101, -255,27, -0,0, -0,0, -0,0, -0,0, -255,80, -255,125, -0,0, -255,204, -255,36, -255,37, -255,238, -255,1, -255,94, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,88, -255,148, -255,67, -255,123, -255,99, -255,126, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,255, -255,255, -255,255, -255,255, -255,251, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,231, -255,35, -255,31, -255,220, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,146, -255,208, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,120, -255,217, -255,245, -255,213, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -255,4, -255,196, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -255,17, -255,223, -255,191, -255,232, -255,57, -255,205, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,138, -255,7, -255,228, -255,2, -255,133, -255,101, -255,30, -255,240, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,194, -255,247, -255,230, -255,138, -255,28, -255,168, -255,242, -255,245, -255,185, -255,35, -0,0, -0,0, -0,0, -0,0, -255,106, -255,89, -0,0, -255,204, -255,255, -255,255, -255,140, -0,0, -255,58, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,148, -255,208, -255,6, -255,50, -255,171, -255,182, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,201, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,170, -0,0, -0,0, -255,73, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,101, -255,234, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,216, -255,54, -255,10, -255,68, -255,237, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -255,128, -255,115, -255,50, -255,247, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,64, -255,22, -255,168, -255,76, -255,46, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,192, -255,64, -255,168, -0,0, -255,63, -255,167, -255,82, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,126, -0,0, -255,204, -255,36, -255,28, -255,236, -255,1, -255,95, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,218, -255,178, -0,0, -255,1, -255,205, -255,217, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,213, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,63, -255,244, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,253, -255,65, -0,0, -0,0, -0,0, -255,109, -255,150, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,189, -255,22, -255,205, -255,220, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,156, -255,120, -255,221, -255,215, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,241, -255,130, -255,97, -0,0, -255,5, -255,218, -255,134, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,212, -255,25, -255,204, -255,36, -0,0, -255,233, -255,26, -255,208, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,107, -0,0, -0,0, -255,160, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,209, -255,1, -0,0, -0,0, -255,5, -255,221, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,246, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,255, -255,255, -255,255, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,201, -255,37, -255,177, -255,54, -255,192, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,205, -255,13, -255,212, -255,29, -255,10, -255,231, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,209, -255,27, -0,0, -0,0, -255,178, -255,205, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,217, -255,83, -255,14, -255,10, -255,72, -255,209, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,244, -255,89, -0,0, -0,0, -255,106, -255,235, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,220, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,43, -255,241, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,4, -0,0, -255,112, -255,255, -255,255, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,102, -255,96, -255,255, -255,255, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,64, -0,0, -255,200, -255,65, -255,43, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,220, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,211, -0,0, -0,0, -0,0, -255,107, -255,243, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,182, -255,243, -255,246, -255,194, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,219, -255,4, -255,10, -255,230, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,74, -255,248, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,12, -0,0, -0,0, -0,0, -255,104, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,226, -255,234, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,252, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,231, -255,102, -255,119, -255,218, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,241, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,113, -255,239, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,252, -255,73, -0,0, -0,0, -0,0, -255,104, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,239, -255,160, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,103, -255,229, -255,238, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,234, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,155, -255,219, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -255,143, -255,225, -255,69, -255,9, -255,31, -255,177, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,210, -255,100, -255,128, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,209, -255,1, -0,0, -0,0, -255,5, -255,221, -255,137, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,217, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,103, -255,210, -255,246, -255,232, -255,156, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,181, -0,0, -255,128, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,244, -255,89, -0,0, -0,0, -255,106, -255,235, -255,15, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,230, -255,25, -0,0, -255,128, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,8, -0,0, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,229, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,219, -255,4, -255,10, -255,230, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,223, -255,7, -0,0, -0,0, -255,31, -255,247, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,230, -255,245, -255,204, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,182, -255,239, -255,238, -255,179, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,4, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,229, -255,83, -255,169, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,218, -255,55, -255,153, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,151, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,211, -255,189, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,231, -255,102, -255,119, -255,218, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,204, -255,117, -0,0, -0,0, -255,166, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,137, -255,217, -255,52, -255,12, -255,86, -255,247, -255,63, -0,0, -0,0, -0,0, -0,0, -255,1, -255,225, -255,148, -255,17, -255,22, -255,172, -255,209, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,160, -255,24, -255,183, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,181, -255,44, -255,211, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,164, -255,87, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,103, -255,229, -255,238, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,233, -255,19, -255,54, -255,226, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,251, -255,67, -0,0, -0,0, -0,0, -255,164, -255,151, -0,0, -0,0, -0,0, -0,0, -255,17, -255,255, -255,50, -0,0, -0,0, -255,34, -255,191, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,225, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,217, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,168, -255,235, -255,238, -255,180, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,177, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,218, -255,55, -255,153, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,229, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,146, -255,194, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,9, -0,0, -0,0, -0,0, -255,12, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -255,202, -255,198, -255,69, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,246, -255,72, -0,0, -0,0, -0,0, -255,118, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -96,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,129, -255,227, -255,250, -255,213, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,246, -255,72, -0,0, -0,0, -0,0, -255,118, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,157, -255,21, -255,15, -255,128, -255,228, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,238, -255,74, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,181, -255,44, -255,211, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,151, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,255, -255,254, -255,255, -255,255, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,179, -255,226, -255,242, -255,238, -255,161, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,204, -255,43, -255,9, -255,65, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,217, -255,60, -255,21, -255,86, -255,238, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,127, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,204, -255,43, -255,9, -255,65, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,56, -0,0, -0,0, -0,0, -255,191, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,122, -255,204, -255,8, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,9, -0,0, -0,0, -0,0, -255,15, -255,19, -0,0, -0,0, -0,0, -0,0, -255,89, -255,239, -255,8, -255,5, -255,62, -255,162, -255,241, -255,23, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,143, -255,226, -255,246, -255,214, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,253, -255,61, -0,0, -0,0, -0,0, -255,102, -255,236, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,224, -255,186, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,143, -255,226, -255,246, -255,214, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,183, -255,207, -255,74, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,108, -255,127, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,177, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,255, -255,255, -255,255, -255,255, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,251, -255,67, -0,0, -0,0, -0,0, -255,165, -255,149, -0,0, -0,0, -0,0, -0,0, -255,46, -255,248, -255,127, -255,45, -255,1, -255,18, -255,253, -255,56, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,253, -255,4, -0,0, -0,0, -0,0, -255,39, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,198, -255,79, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,129, -255,226, -255,242, -255,163, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,3, -255,198, -255,34, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,238, -255,74, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,217, -255,51, -255,11, -255,85, -255,245, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,176, -255,245, -255,230, -255,234, -255,154, -255,1, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,116, -255,9, -255,244, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,160, -255,234, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,58, -255,178, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,122, -255,204, -255,8, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,135, -255,231, -255,245, -255,200, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,90, -255,222, -255,170, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,252, -255,4, -0,0, -0,0, -0,0, -255,38, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,251, -255,34, -0,0, -255,174, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,195, -0,0, -0,0, -0,0, -0,0, -255,229, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,160, -255,110, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,108, -255,127, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,177, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,172, -0,0, -0,0, -0,0, -255,80, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,246, -255,72, -0,0, -0,0, -0,0, -255,118, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,253, -255,58, -0,0, -0,0, -0,0, -255,100, -255,237, -255,3, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,212, -255,12, -255,12, -255,102, -255,232, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,235, -255,138, -255,22, -255,10, -255,89, -255,248, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,22, -255,225, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -255,3, -255,198, -255,34, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,111, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,246, -255,115, -255,13, -255,23, -255,172, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,204, -255,43, -255,9, -255,65, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,228, -255,247, -255,187, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,255, -255,255, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,214, -255,55, -255,16, -255,80, -255,235, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,255, -255,255, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,166, -255,233, -255,243, -255,200, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,109, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,58, -255,178, -255,32, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,48, -0,0, -0,0, -0,0, -255,92, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,230, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,195, -255,243, -255,237, -255,174, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,143, -255,226, -255,246, -255,214, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,216, -255,50, -255,11, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,175, -255,28, -255,28, -255,28, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,246, -255,72, -0,0, -0,0, -0,0, -255,118, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,229, -255,250, -255,214, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -255,23, -0,0, -0,0, -0,0, -255,161, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,160, -255,110, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,246, -255,72, -0,0, -0,0, -0,0, -255,118, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,239, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,204, -255,43, -255,9, -255,65, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,160, -0,0, -0,0, -0,0, -0,0, -255,51, -255,253, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,255, -255,255, -255,238, -255,178, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,22, -255,225, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,204, -255,43, -255,9, -255,65, -255,232, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,150, -255,226, -255,237, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,206, -255,237, -255,228, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,143, -255,226, -255,246, -255,214, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -255,19, -255,160, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,109, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,143, -255,226, -255,246, -255,214, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,131, -255,12, -255,43, -255,225, -255,127, -0,0, -0,0, -0,0, -0,0, -0,0, -255,199, -255,139, -255,28, -255,88, -255,252, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -0,0, -255,49, -255,255, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,23, -0,0, -0,0, -255,122, -255,199, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,182, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,191, -255,244, -255,202, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -255,18, -255,157, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,12, -255,12, -255,12, -255,12, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,205, -255,244, -255,202, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,49, -255,197, -255,245, -255,220, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,255, -255,255, -255,255, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -255,5, -255,251, -255,58, -0,0, -0,0, -255,127, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,26, -0,0, -0,0, -255,177, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,201, -255,246, -255,201, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,132, -255,230, -255,245, -255,204, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,20, -255,77, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,161, -255,15, -255,160, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,255, -255,255, -255,239, -255,181, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,242, -255,222, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,255, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,26, -255,241, -255,110, -255,13, -255,104, -255,242, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,221, -255,148, -255,12, -255,85, -255,252, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,209, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,194, -255,28, -255,39, -255,226, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,148, -255,12, -255,64, -255,247, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,170, -255,177, -255,11, -255,148, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,137, -255,217, -255,52, -255,12, -255,86, -255,247, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,209, -0,0, -255,143, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,255, -255,45, -0,0, -255,105, -255,198, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,252, -255,73, -0,0, -0,0, -255,23, -255,239, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,142, -255,14, -255,176, -255,248, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,222, -0,0, -0,0, -0,0, -255,220, -255,95, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,50, -0,0, -0,0, -255,227, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,152, -255,233, -255,231, -255,136, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,190, -255,245, -255,222, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,206, -255,245, -255,214, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,147, -0,0, -255,151, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,251, -255,67, -0,0, -0,0, -0,0, -255,164, -255,151, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,28, -255,1, -255,208, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,220, -255,8, -0,0, -255,164, -255,203, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,140, -255,221, -255,233, -255,131, -255,1, -0,0, -0,0, -0,0, -0,0, -255,165, -255,185, -0,0, -0,0, -255,52, -255,255, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,207, -255,239, -255,160, -255,217, -255,112, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -255,38, -255,172, -255,163, -255,164, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -255,193, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -255,202, -255,145, -255,11, -255,76, -255,242, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,224, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,243, -255,98, -255,10, -255,86, -255,250, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,246, -255,185, -255,186, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,9, -0,0, -0,0, -0,0, -255,12, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,113, -0,0, -255,239, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,28, -255,46, -255,255, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,216, -255,129, -255,65, -255,249, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,156, -255,24, -255,68, -255,244, -255,88, -0,0, -0,0, -0,0, -0,0, -255,72, -255,250, -255,16, -0,0, -255,131, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,225, -255,146, -255,18, -255,78, -255,247, -255,112, -0,0, -0,0, -0,0, -0,0, -255,94, -255,225, -0,0, -255,164, -255,47, -255,130, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,255, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -255,36, -255,249, -255,95, -255,9, -255,69, -255,243, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,236, -255,255, -255,254, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,133, -0,0, -0,0, -0,0, -255,245, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,247, -255,244, -255,29, -0,0, -255,35, -255,40, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,170, -255,75, -255,22, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,28, -255,12, -255,232, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,245, -255,222, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,255, -255,255, -255,255, -255,255, -255,255, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,153, -255,175, -0,0, -0,0, -0,0, -0,0, -255,3, -255,231, -255,93, -0,0, -255,211, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,251, -255,13, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -255,69, -255,248, -255,53, -255,169, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,192, -255,252, -255,236, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,12, -255,12, -255,12, -255,12, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,213, -255,243, -255,170, -255,208, -255,122, -0,0, -0,0, -0,0, -0,0, -255,18, -255,230, -255,107, -255,10, -255,56, -255,231, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,249, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,77, -255,233, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,246, -255,66, -255,165, -255,209, -255,14, -255,158, -255,135, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,9, -0,0, -0,0, -0,0, -255,15, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,38, -255,58, -255,186, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,28, -0,0, -255,49, -255,233, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,248, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,32, -255,32, -255,245, -255,98, -255,32, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,114, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,175, -255,34, -255,254, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,229, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -255,7, -255,224, -255,237, -255,54, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,131, -255,232, -255,231, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,167, -255,18, -255,71, -255,252, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,229, -255,88, -0,0, -0,0, -0,0, -0,0, -255,80, -255,240, -0,0, -0,0, -0,0, -255,161, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,255, -255,255, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,183, -0,0, -255,4, -255,181, -255,189, -255,237, -255,57, -0,0, -0,0, -0,0, -0,0, -255,13, -255,251, -255,67, -0,0, -0,0, -0,0, -255,165, -255,149, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,28, -0,0, -0,0, -255,58, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,216, -255,148, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,139, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,246, -255,122, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,245, -255,4, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,236, -255,249, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,159, -255,17, -255,70, -255,247, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,88, -0,0, -0,0, -255,184, -255,118, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,19, -255,13, -255,130, -255,230, -255,14, -0,0, -0,0, -0,0, -0,0, -255,37, -255,251, -255,97, -255,9, -255,50, -255,230, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,183, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,58, -255,246, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,239, -255,56, -255,9, -255,72, -255,251, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,217, -255,51, -255,11, -255,85, -255,245, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,199, -0,0, -255,156, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,28, -255,70, -255,11, -255,82, -255,254, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,224, -255,81, -255,19, -255,236, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,151, -255,20, -255,54, -255,235, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,238, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,237, -255,129, -255,15, -255,79, -255,248, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,166, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,211, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,111, -255,236, -255,242, -255,189, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,210, -255,247, -255,227, -255,134, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,171, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,218, -255,55, -255,153, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,132, -0,0, -0,0, -0,0, -255,210, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,222, -255,247, -255,218, -255,133, -255,236, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,135, -255,231, -255,245, -255,200, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,133, -0,0, -255,219, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,38, -255,206, -255,247, -255,228, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,195, -0,0, -0,0, -255,119, -255,213, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,145, -255,223, -255,237, -255,146, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,250, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,212, -255,244, -255,191, -255,193, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,148, -255,244, -255,212, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,181, -255,44, -255,211, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,248, -255,88, -255,9, -255,69, -255,247, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,253, -255,55, -0,0, -0,0, -255,8, -255,225, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,152, -255,169, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,113, -255,250, -255,81, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,210, -255,246, -255,214, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,35, -255,235, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,163, -255,17, -255,58, -255,239, -255,92, -0,0, -0,0, -0,0, -0,0, -255,47, -255,204, -255,2, -0,0, -0,0, -255,171, -255,151, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,115, -255,230, -255,240, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,246, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,252, -255,134, -255,232, -255,235, -255,136, -255,2, -0,0, -0,0, -0,0, -0,0, -255,17, -255,242, -255,119, -255,13, -255,49, -255,229, -255,111, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,157, -255,17, -255,55, -255,247, -255,73, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,209, -255,254, -255,236, -255,147, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,203, -255,242, -255,189, -255,177, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,133, -255,189, -0,0, -0,0, -255,29, -255,254, -255,38, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,203, -255,116, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,199, -255,244, -255,221, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,245, -255,201, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,187, -255,242, -255,214, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,244, -255,189, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,220, -255,154, -255,19, -255,71, -255,244, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,218, -255,55, -255,153, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,252, -255,20, -0,0, -255,111, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,241, -255,103, -255,11, -255,79, -255,251, -255,45, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,11, -255,120, -255,245, -255,16, -0,0, -0,0, -0,0, -0,0, -255,1, -255,207, -255,139, -255,13, -255,73, -255,248, -255,39, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,24, -255,119, -255,247, -255,58, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,251, -255,223, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,254, -255,228, -255,142, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,253, -255,16, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,192, -255,255, -255,234, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,181, -255,44, -255,211, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,203, -255,101, -0,0, -255,192, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,196, -0,0, -0,0, -0,0, -255,222, -255,96, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -255,11, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,15, -0,0, -0,0, -255,192, -255,122, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,155, -255,189, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,4, -255,53, -255,236, -255,93, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,1, -255,42, -255,215, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,233, -0,0, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -255,2, -255,215, -255,151, -255,16, -255,61, -255,243, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,185, -255,21, -255,247, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,218, -255,55, -255,153, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,250, -255,44, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,6, -255,115, -255,197, -255,4, -0,0, -0,0, -0,0, -0,0, -255,68, -255,248, -0,0, -0,0, -0,0, -255,168, -255,152, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,84, -255,243, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,175, -255,144, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,128, -255,190, -0,0, -0,0, -0,0, -0,0, -255,165, -255,185, -0,0, -0,0, -255,52, -255,255, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,64, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,246, -255,28, -0,0, -255,149, -255,208, -255,4, -0,0, -0,0, -0,0, -0,0, -255,66, -255,249, -255,6, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -255,53, -255,255, -255,17, -0,0, -0,0, -255,95, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,246, -255,117, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,181, -255,44, -255,211, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,200, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,252, -255,127, -255,1, -0,0, -0,0, -0,0, -0,0, -255,72, -255,248, -0,0, -0,0, -0,0, -255,168, -255,156, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,68, -255,252, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,5, -255,52, -255,233, -255,76, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,1, -255,40, -255,213, -255,135, -0,0, -0,0, -0,0, -0,0, -255,72, -255,250, -255,16, -0,0, -255,131, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -255,31, -255,249, -255,170, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,161, -255,42, -255,248, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,233, -255,136, -255,16, -255,72, -255,246, -255,124, -0,0, -0,0, -0,0, -0,0, -255,79, -255,243, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,239, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,183, -255,179, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,1, -255,47, -255,236, -255,95, -0,0, -0,0, -0,0, -0,0, -255,68, -255,248, -0,0, -0,0, -0,0, -255,168, -255,152, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,84, -255,243, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,254, -255,229, -255,145, -255,8, -0,0, -0,0, -0,0, -0,0, -255,3, -255,231, -255,93, -0,0, -255,211, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,126, -255,224, -255,201, -255,89, -255,4, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,238, -255,209, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,210, -255,241, -255,170, -255,209, -255,124, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,16, -0,0, -0,0, -255,59, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,241, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,174, -255,182, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,175, -255,144, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,16, -0,0, -0,0, -255,191, -255,122, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,155, -255,191, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,1, -255,60, -255,245, -255,78, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,175, -255,34, -255,254, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,146, -255,251, -255,76, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -255,120, -255,234, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,253, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,109, -0,0, -0,0, -0,0, -0,0, -255,2, -255,218, -255,149, -255,15, -255,52, -255,237, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -255,2, -255,164, -255,183, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,3, -255,54, -255,235, -255,90, -0,0, -0,0, -0,0, -0,0, -255,2, -255,209, -255,142, -255,13, -255,70, -255,248, -255,41, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -255,23, -255,119, -255,248, -255,61, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,181, -255,141, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,246, -255,122, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,129, -255,228, -255,203, -255,90, -255,5, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -255,33, -255,246, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,241, -255,191, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,50, -255,20, -255,97, -255,252, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,193, -255,255, -255,234, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -255,62, -255,255, -255,255, -255,255, -255,255, -255,255, -255,188, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,252, -255,224, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,188, -255,243, -255,216, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,245, -255,190, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,169, -255,151, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,238, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -255,31, -255,250, -255,174, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -255,183, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,187, -255,150, -255,27, -255,244, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,220, -255,248, -255,216, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -255,131, -255,206, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,250, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,121, -0,0, -0,0, -255,44, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,255, -255,255, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,110, -255,224, -255,240, -255,149, -255,1, -0,0, -0,0, -0,0, -0,0, -255,97, -255,240, -255,20, -0,0, -255,128, -255,218, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,238, -255,50, -255,13, -255,154, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -255,165, -255,200, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,155, -255,18, -255,57, -255,247, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,255, -255,255, -255,255, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,35, -255,235, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,226, -255,245, -255,191, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -255,13, -255,219, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,199, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,12, -255,12, -255,12, -255,50, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,246, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -255,50, -255,247, -255,76, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,184, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,189, -255,242, -255,219, -255,90, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,183, -255,242, -255,209, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,211, -255,189, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,221, -255,138, -255,15, -255,71, -255,246, -255,44, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,155, -255,14, -255,102, -255,237, -255,15, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,115, -255,230, -255,240, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,185, -255,241, -255,215, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,212, -255,246, -255,204, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,214, -255,99, -255,124, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -255,42, -255,185, -255,14, -0,0, -255,30, -255,191, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,164, -255,87, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,248, -255,8, -0,0, -0,0, -255,103, -255,48, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -255,19, -0,0, -0,0, -255,236, -255,71, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,157, -255,17, -255,55, -255,247, -255,73, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,144, -255,16, -255,71, -255,246, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,245, -255,98, -255,9, -255,132, -255,226, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,177, -255,255, -255,204, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,192, -255,128, -0,0, -0,0, -0,0, -0,0, -255,7, -255,185, -255,197, -255,41, -255,221, -255,154, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,225, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,255, -255,255, -255,255, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,203, -255,116, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,9, -0,0, -0,0, -255,163, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,244, -255,120, -255,13, -255,7, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,223, -255,165, -255,255, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,190, -255,252, -255,161, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,183, -255,242, -255,209, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,247, -255,7, -0,0, -0,0, -255,64, -255,31, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,45, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -255,93, -255,225, -0,0, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -255,35, -255,229, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,184, -255,243, -255,188, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,21, -255,3, -255,219, -255,155, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,214, -255,238, -255,190, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,155, -255,14, -255,102, -255,237, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,183, -255,242, -255,209, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,183, -255,242, -255,209, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,222, -255,133, -255,14, -255,61, -255,240, -255,47, -0,0, -0,0, -0,0, -0,0, -255,5, -255,215, -255,140, -255,14, -255,30, -255,117, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,131, -255,12, -255,84, -255,251, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -255,64, -255,247, -255,9, -0,0, -0,0, -255,162, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,151, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,62, -0,0, -255,11, -255,119, -255,246, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,202, -255,243, -255,193, -255,189, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,211, -255,168, -255,16, -255,198, -255,186, -255,8, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -255,19, -0,0, -0,0, -255,236, -255,71, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,155, -255,14, -255,102, -255,237, -255,15, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,155, -255,14, -255,102, -255,237, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,190, -255,242, -255,217, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,182, -255,242, -255,236, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,216, -255,240, -255,171, -255,188, -255,120, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -255,142, -255,15, -255,68, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -255,35, -255,251, -255,78, -255,7, -255,91, -255,249, -255,13, -0,0, -0,0, -0,0, -0,0, -255,34, -255,245, -255,108, -255,10, -255,38, -255,192, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,145, -255,4, -0,0, -255,14, -255,151, -255,14, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,255, -255,255, -255,255, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -255,19, -0,0, -0,0, -255,236, -255,71, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -255,19, -0,0, -0,0, -255,236, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,183, -255,242, -255,209, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,196, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,187, -255,242, -255,217, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,52, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,215, -255,247, -255,214, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,207, -0,0, -0,0, -0,0, -255,118, -255,200, -0,0, -0,0, -0,0, -0,0, -255,96, -255,255, -255,255, -255,255, -255,255, -255,255, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,255, -255,255, -255,255, -255,255, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,255, -255,255, -255,255, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,255, -255,255, -255,255, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,209, -255,155, -255,14, -255,102, -255,237, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,118, -255,202, -0,0, -0,0, -0,0, -255,155, -255,161, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,238, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,215, -255,140, -255,14, -255,30, -255,117, -255,2, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -255,19, -0,0, -0,0, -255,236, -255,71, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,246, -255,105, -255,12, -255,73, -255,244, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,244, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,196, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,182, -255,242, -255,236, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -255,5, -255,215, -255,140, -255,14, -255,30, -255,117, -255,2, -0,0, -0,0, -0,0, -0,0, -255,5, -255,215, -255,140, -255,14, -255,30, -255,117, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,198, -255,56, -255,198, -255,49, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,255, -255,255, -255,255, -255,255, -255,255, -255,95, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,201, -255,244, -255,209, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,255, -255,255, -255,255, -255,255, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,220, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,182, -255,242, -255,236, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,182, -255,242, -255,236, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,134, -255,151, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,248, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,189, -255,242, -255,219, -255,90, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,26, -255,48, -255,48, -255,48, -255,48, -255,48, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,247, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,42, -255,249, -255,58, -255,249, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,215, -255,140, -255,14, -255,30, -255,117, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,221, -255,138, -255,15, -255,71, -255,246, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,165, -255,185, -0,0, -0,0, -255,52, -255,255, -255,42, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,175, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,227, -255,117, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,134, -255,151, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,182, -255,242, -255,236, -255,152, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,248, -255,8, -0,0, -0,0, -255,103, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,72, -255,250, -255,16, -0,0, -255,131, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,69, -255,169, -255,85, -255,92, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,255, -255,255, -255,255, -255,255, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,198, -255,56, -255,198, -255,49, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,231, -255,93, -0,0, -255,211, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -255,81, -255,169, -255,254, -255,232, -255,154, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,236, -255,231, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,247, -255,7, -0,0, -0,0, -255,64, -255,31, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,175, -255,34, -255,254, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,255, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,172, -255,219, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,245, -255,39, -255,54, -255,247, -255,10, -0,0, -0,0, -0,0, -0,0, -255,143, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,212, -255,250, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,222, -255,133, -255,14, -255,61, -255,240, -255,47, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,246, -255,122, -255,194, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,192, -255,14, -255,113, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,104, -255,220, -255,155, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,220, -0,0, -0,0, -255,241, -255,35, -0,0, -0,0, -0,0, -0,0, -255,44, -255,243, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,254, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,190, -255,242, -255,217, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,238, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,123, -255,233, -255,198, -255,90, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,245, -255,41, -255,55, -255,247, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,255, -255,255, -255,255, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,129, -255,233, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,177, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,45, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,45, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,250, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,238, -255,90, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,255, -255,255, -255,255, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,210, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,232, -255,229, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,125, -255,255, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,5, -255,150, -255,237, -255,237, -255,158, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,231, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,205, -255,49, -255,205, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,169, -255,59, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,195, -255,245, -255,220, -255,87, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,111, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,131, -255,12, -255,84, -255,251, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,131, -255,12, -255,84, -255,251, -255,120, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,45, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,207, -255,242, -255,185, -255,197, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,244, -255,132, -255,230, -255,231, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,125, -255,233, -255,190, -255,85, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,84, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,244, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,245, -255,255, -255,255, -255,255, -255,80, -0,0, -0,0, -0,0, -0,0, -255,111, -255,220, -255,41, -255,41, -255,225, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,237, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,166, -255,121, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,131, -255,9, -255,96, -255,250, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,230, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,216, -255,240, -255,171, -255,188, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,216, -255,240, -255,171, -255,188, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,131, -255,12, -255,84, -255,251, -255,120, -0,0, -0,0, -0,0, -0,0, -255,4, -255,35, -255,235, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,225, -255,143, -255,16, -255,80, -255,248, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,143, -255,22, -255,78, -255,249, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,107, -255,222, -255,155, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,236, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,76, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,158, -255,194, -255,252, -255,80, -0,0, -0,0, -0,0, -0,0, -255,44, -255,47, -0,0, -0,0, -255,170, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,102, -255,237, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,244, -255,67, -255,244, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,2, -0,0, -255,6, -255,255, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,216, -255,240, -255,171, -255,188, -255,120, -0,0, -0,0, -0,0, -0,0, -255,69, -255,246, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,251, -255,12, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,169, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,98, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,254, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,232, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,241, -255,71, -0,0, -0,0, -0,0, -0,0, -255,39, -255,240, -255,10, -255,146, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,166, -255,121, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,217, -255,250, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,89, -255,229, -0,0, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,130, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,203, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,218, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,215, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,106, -0,0, -255,40, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,205, -255,49, -255,205, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,254, -255,80, -255,5, -255,4, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,71, -255,246, -255,4, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -255,155, -255,169, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,227, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,211, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,178, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,80, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,250, -255,46, -255,28, -255,138, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,67, -0,0, -0,0, -255,216, -255,104, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -255,13, -255,237, -255,128, -255,14, -255,82, -255,250, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,138, -255,18, -255,62, -255,242, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,254, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,248, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,152, -255,242, -255,231, -255,96, -255,243, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,182, -255,246, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,155, -255,9, -255,68, -255,248, -255,104, -0,0, -0,0, -0,0, -0,0, -255,32, -255,255, -255,36, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,212, -255,241, -255,164, -255,235, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,142, -255,227, -255,234, -255,136, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,231, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,253, -255,2, -0,0, -255,21, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,218, -255,22, -255,5, -0,0, -0,0, -0,0, -0,0, -255,3, -255,163, -255,246, -255,217, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,238, -255,232, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,209, -255,246, -255,211, -255,218, -255,104, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,45, -0,0, -0,0, -255,200, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,247, -255,102, -255,23, -255,157, -255,199, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,196, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,137, -255,20, -255,172, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,43, -255,103, -255,199, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,131, -255,12, -255,84, -255,251, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,219, -255,245, -255,194, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -255,10, -255,119, -255,113, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,255, -255,255, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,255, -255,246, -255,42, -0,0, -0,0, -0,0, -0,0, -255,5, -255,170, -255,245, -255,255, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,216, -255,240, -255,171, -255,188, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,92, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,177, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,95, -255,2, -255,137, -255,163, -0,0, -0,0, -0,0, -0,0, -255,48, -255,245, -255,37, -255,111, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,106, -255,188, -255,79, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,90, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,111, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,193, -255,28, -0,0, -0,0, -0,0, -0,0, -255,1, -255,153, -255,244, -255,211, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,220, -255,216, -255,241, -255,93, -0,0, -0,0, -0,0, -0,0, -255,8, -255,195, -255,241, -255,169, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,251, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,200, -255,255, -255,255, -255,220, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,146, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,230, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,224, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,175, -255,22, -255,185, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,46, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,229, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,255, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,223, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,128, -255,1, -0,0, -0,0, -0,0, -0,0, -255,155, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,222, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,151, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,252, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,213, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,31, -0,0, -255,63, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,171, -255,32, -0,0, -0,0, -0,0, -0,0, -255,35, -255,173, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,196, -255,136, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,150, -255,136, -255,157, -0,0, -0,0, -0,0, -0,0, -255,12, -255,225, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,215, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,151, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,52, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,237, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,253, -255,228, -255,216, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,154, -255,242, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,170, -255,31, -0,0, -0,0, -0,0, -0,0, -255,236, -255,120, -0,0, -255,240, -255,116, -0,0, -0,0, -0,0, -0,0, -255,5, -255,199, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,195, -255,2, -0,0, -0,0, -0,0, -0,0, -255,124, -255,191, -255,136, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,153, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,169, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,155, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,40, -255,40, -255,40, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,202, -255,22, -255,227, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,114, -255,136, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,240, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,176, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,254, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,215, -255,203, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,228, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,13, -255,40, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,133, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,248, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,231, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,145, -255,236, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,59, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,160, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,205, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,225, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,84, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,252, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,238, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,227, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,255, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -255,124, -255,196, -0,0, -0,0, -0,0, -0,0, -255,64, -255,255, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,255, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,225, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,243, -255,81, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -255,124, -255,180, -0,0, -0,0, -0,0, -0,0, -255,90, -255,204, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,173, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,246, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,203, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,24, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -255,70, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,96, -0,0, -0,0, -0,0, -0,0, -255,146, -255,79, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,241, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,8, -0,0, -0,0, -0,0, -0,0, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,11, -255,4, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,239, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,225, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,70, -255,26, -0,0, -0,0, -0,0, -0,0, -255,70, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,161, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,134, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,60, -255,215, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,37, -255,251, -255,53, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,120, -0,0, -0,0, -0,0, -0,0, -255,236, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,227, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,244, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,11, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,170, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,59, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,224, -255,38, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,252, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -}; diff --git a/scene/resources/default_theme/font_normal.png b/scene/resources/default_theme/font_normal.png Binary files differdeleted file mode 100644 index f0c0c35fcc..0000000000 --- a/scene/resources/default_theme/font_normal.png +++ /dev/null diff --git a/scene/resources/default_theme/font_source.inc b/scene/resources/default_theme/font_source.inc deleted file mode 100644 index 3b6a633bcc..0000000000 --- a/scene/resources/default_theme/font_source.inc +++ /dev/null @@ -1,32973 +0,0 @@ -static const int _builtin_source_font_height=15; -static const int _builtin_source_font_ascent=11; -static const int _builtin_source_font_charcount=191; -static const int _builtin_source_font_charrects[191][8]={ -/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */ -{64,62,54,8,10,3,0,8}, -{192,14,15,8,11,0,0,8}, -{224,12,206,6,11,0,1,8}, -{96,101,220,3,3,0,2,8}, -{160,0,0,0,0,11,0,8}, -{32,0,0,0,0,11,0,8}, -{65,74,30,8,9,2,0,8}, -{33,80,223,3,10,1,3,8}, -{161,108,220,3,10,4,3,8}, -{193,26,17,8,11,0,0,8}, -{225,112,189,6,11,0,1,8}, -{97,46,162,6,7,4,1,8}, -{98,79,110,7,9,2,1,8}, -{66,57,109,7,9,2,1,8}, -{162,2,188,6,10,1,1,8}, -{194,38,26,8,11,0,0,8}, -{226,32,197,6,11,0,1,8}, -{34,2,164,6,5,1,1,8}, -{163,61,84,7,8,3,1,8}, -{67,62,41,8,9,2,0,8}, -{227,24,105,7,9,2,1,8}, -{35,72,183,6,10,1,1,8}, -{195,98,56,8,12,-1,0,8}, -{99,112,120,7,7,4,1,8}, -{100,90,111,7,9,2,0,8}, -{68,90,98,7,9,2,1,8}, -{228,92,191,6,10,1,1,8}, -{36,42,180,6,13,0,1,8}, -{196,86,69,8,12,-1,0,8}, -{164,86,58,8,7,3,0,8}, -{165,57,97,7,8,3,1,8}, -{37,54,2,9,8,3,0,8}, -{69,68,97,7,9,2,1,8}, -{229,102,189,6,10,1,1,8}, -{197,93,2,9,13,-2,0,8}, -{101,14,81,8,7,4,0,8}, -{102,68,110,7,9,2,1,8}, -{70,46,97,7,9,2,1,8}, -{38,41,13,9,9,2,0,8}, -{198,106,2,9,9,2,-1,8}, -{166,2,210,2,14,0,3,8}, -{230,41,2,9,7,4,0,8}, -{71,2,69,8,9,2,0,8}, -{103,46,148,7,10,4,1,8}, -{199,74,56,8,12,2,0,8}, -{167,102,174,6,11,1,1,8}, -{231,13,160,7,10,4,1,8}, -{39,122,215,2,5,1,3,8}, -{104,13,104,7,9,2,1,8}, -{72,2,82,7,9,2,1,8}, -{40,70,206,5,13,0,2,8}, -{200,24,118,7,11,0,1,8}, -{232,14,30,8,11,0,0,8}, -{168,18,221,4,2,1,2,8}, -{169,38,77,8,9,2,0,8}, -{73,83,85,7,9,2,1,8}, -{105,88,206,5,10,1,1,8}, -{41,79,206,5,13,0,1,8}, -{201,46,123,7,11,0,1,8}, -{233,2,26,8,11,0,0,8}, -{106,12,174,6,13,1,0,8}, -{202,57,122,7,11,0,1,8}, -{234,110,15,8,11,0,0,8}, -{42,35,128,7,6,4,1,8}, -{170,97,205,5,5,3,2,8}, -{74,62,193,6,9,2,1,8}, -{171,86,166,6,6,4,1,8}, -{43,90,152,7,7,3,1,8}, -{235,98,30,8,10,1,0,8}, -{203,62,177,6,12,-1,1,8}, -{75,112,131,7,9,2,1,8}, -{107,72,84,7,9,2,1,8}, -{172,38,68,8,5,5,0,8}, -{44,66,223,3,7,8,3,8}, -{236,22,191,6,11,0,0,8}, -{204,79,123,7,11,0,1,8}, -{76,101,141,7,9,2,1,8}, -{108,110,66,8,9,2,0,8}, -{173,96,165,6,2,5,1,8}, -{45,72,177,6,2,5,1,8}, -{109,14,70,8,7,4,0,8}, -{237,2,107,7,11,0,0,8}, -{205,90,124,7,11,0,1,8}, -{77,90,139,7,9,2,1,8}, -{46,87,223,3,3,8,3,8}, -{174,106,165,6,5,2,1,8}, -{110,68,123,7,7,4,1,8}, -{238,13,117,7,11,0,0,8}, -{206,101,126,7,11,0,1,8}, -{78,79,138,7,9,2,1,8}, -{175,58,215,4,1,2,2,8}, -{111,110,55,8,7,4,0,8}, -{207,52,173,6,12,-1,1,8}, -{47,32,180,6,13,2,1,8}, -{239,22,206,6,10,1,1,8}, -{79,2,13,8,9,2,0,8}, -{176,2,202,4,4,1,2,8}, -{48,13,148,7,8,3,1,8}, -{112,57,143,7,10,4,1,8}, -{80,35,91,7,9,2,1,8}, -{240,110,30,8,9,2,0,8}, -{208,15,2,9,9,2,-1,8}, -{49,24,149,7,8,3,1,8}, -{177,2,138,7,8,3,1,8}, -{209,35,138,7,12,-1,1,8}, -{81,2,52,8,13,1,0,8}, -{113,68,152,7,10,4,0,8}, -{241,112,92,7,9,2,1,8}, -{178,26,226,4,5,0,3,8}, -{114,66,166,6,7,4,2,8}, -{50,35,154,7,8,3,1,8}, -{210,26,32,8,11,0,0,8}, -{242,86,19,8,11,0,0,8}, -{82,24,92,7,9,2,1,8}, -{179,52,201,5,5,0,2,8}, -{115,101,154,7,7,4,1,8}, -{51,50,56,8,8,3,0,8}, -{211,38,41,8,11,0,0,8}, -{243,74,15,8,11,0,0,8}, -{83,62,15,8,9,2,0,8}, -{180,94,220,3,3,0,3,8}, -{52,38,56,8,8,3,0,8}, -{212,50,41,8,11,0,0,8}, -{244,50,26,8,11,0,0,8}, -{84,14,45,8,9,2,0,8}, -{116,26,78,8,9,2,0,8}, -{53,2,95,7,8,3,1,8}, -{245,101,98,7,9,2,0,8}, -{85,94,85,7,9,2,1,8}, -{117,116,155,6,7,4,1,8}, -{181,2,150,7,10,4,1,8}, -{213,50,68,8,12,-1,0,8}, -{54,79,98,7,8,3,1,8}, -{86,74,43,8,9,2,-1,8}, -{246,26,47,8,10,1,0,8}, -{214,62,68,8,12,-1,0,8}, -{182,112,174,6,11,2,1,8}, -{118,98,19,8,7,4,0,8}, -{55,14,58,8,8,3,0,8}, -{87,80,2,9,9,2,-1,8}, -{247,112,144,7,7,3,0,8}, -{119,2,2,9,7,4,-1,8}, -{215,76,166,6,6,3,1,8}, -{183,115,215,3,3,4,3,8}, -{216,62,28,8,9,2,0,8}, -{88,50,84,7,9,2,1,8}, -{56,105,79,7,8,3,1,8}, -{248,2,41,8,7,4,0,8}, -{120,35,117,7,7,4,1,8}, -{184,10,221,4,3,11,2,8}, -{89,67,2,9,9,2,0,8}, -{121,35,166,7,10,4,1,8}, -{249,92,176,6,11,0,1,8}, -{217,112,105,7,11,0,1,8}, -{57,86,46,8,8,3,0,8}, -{185,34,226,4,6,0,2,8}, -{90,116,79,7,9,2,1,8}, -{250,2,173,6,11,0,1,8}, -{218,101,111,7,11,0,1,8}, -{58,73,223,3,8,3,3,8}, -{122,56,162,6,7,4,1,8}, -{186,61,206,5,5,3,2,8}, -{59,50,220,4,12,3,2,8}, -{123,13,132,7,12,1,1,8}, -{91,42,220,4,12,1,3,8}, -{251,12,191,6,11,0,1,8}, -{219,79,151,7,11,0,1,8}, -{187,46,138,7,6,4,1,8}, -{124,8,228,2,14,0,3,8}, -{92,22,174,6,13,2,1,8}, -{220,24,133,7,12,-1,1,8}, -{252,32,212,6,10,1,1,8}, -{60,13,92,7,8,2,1,8}, -{188,98,44,8,8,3,0,8}, -{253,68,134,7,14,0,1,8}, -{93,106,204,5,12,1,1,8}, -{125,82,176,6,12,1,1,8}, -{221,28,2,9,11,0,0,8}, -{189,110,43,8,8,3,0,8}, -{61,42,197,6,5,4,1,8}, -{222,46,110,7,9,2,1,8}, -{254,2,122,7,12,2,1,8}, -{62,52,189,6,8,2,1,8}, -{190,86,34,8,8,3,0,8}, -{94,115,204,5,7,1,1,8}, -{126,24,161,7,3,5,0,8}, -{223,35,104,7,9,2,1,8}, -{63,82,192,6,10,1,1,8}, -{255,26,61,8,13,1,0,8}, -{191,42,206,6,10,4,1,8}, -{95,57,137,7,2,11,1,8}, -}; -static const int _builtin_source_font_kerning_pair_count=0; -static const int _builtin_source_font_kerning_pairs[1][3]={ -{0,0,0} -}; -static const int _builtin_source_font_img_width=128; -static const int _builtin_source_font_img_height=256; -static const unsigned char _builtin_source_font_img_data[65536]={ -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,255, -255,72, -0,0, -255,21, -255,16, -0,0, -255,97, -255,231, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,237, -255,190, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,174, -255,140, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,207, -255,242, -255,180, -255,30, -255,194, -255,229, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,198, -255,201, -255,145, -255,1, -255,2, -255,119, -255,162, -255,1, -0,0, -0,0, -0,0, -0,0, -255,9, -255,230, -255,136, -0,0, -0,0, -0,0, -255,163, -255,198, -255,1, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -255,79, -0,0, -0,0, -0,0, -0,0, -255,94, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,232, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,255, -255,255, -255,255, -255,255, -255,164, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,119, -0,0, -255,198, -255,159, -0,0, -255,146, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,71, -255,59, -255,138, -255,250, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,94, -255,39, -255,157, -255,243, -255,124, -255,104, -255,222, -255,1, -0,0, -0,0, -0,0, -0,0, -255,241, -255,54, -255,54, -255,255, -255,26, -255,145, -255,130, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,241, -255,15, -0,0, -255,29, -255,251, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,235, -255,108, -0,0, -0,0, -0,0, -0,0, -255,122, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,71, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,206, -255,255, -255,78, -255,44, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,167, -255,8, -255,199, -255,215, -0,0, -255,195, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,136, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,230, -255,136, -0,0, -0,0, -0,0, -255,163, -255,198, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,119, -255,255, -255,28, -255,20, -255,255, -255,23, -0,0, -0,0, -0,0, -0,0, -255,108, -255,236, -255,242, -255,139, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,223, -255,120, -0,0, -255,141, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,137, -0,0, -255,17, -255,15, -0,0, -255,150, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,232, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,237, -255,96, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,215, -255,60, -255,156, -255,208, -255,31, -255,242, -255,80, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,251, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,241, -255,15, -0,0, -255,29, -255,251, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,194, -255,230, -255,183, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -0,0, -255,81, -255,229, -255,225, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,229, -255,22, -255,243, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,159, -255,166, -0,0, -255,175, -255,163, -0,0, -255,177, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,236, -255,8, -255,255, -255,67, -255,32, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,252, -255,120, -255,104, -255,156, -255,117, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,255, -255,255, -255,20, -255,10, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,223, -255,120, -0,0, -255,141, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,106, -255,1, -255,40, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,198, -255,12, -255,239, -255,95, -255,97, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,203, -255,178, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,121, -255,195, -255,10, -255,195, -255,225, -255,6, -255,205, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,255, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,134, -0,0, -255,255, -255,255, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,255, -255,209, -255,46, -255,97, -255,212, -255,235, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,30, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,229, -255,22, -255,243, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,238, -255,134, -255,47, -255,161, -255,245, -255,138, -255,50, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,213, -255,78, -255,31, -255,255, -255,16, -255,17, -255,247, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,223, -255,80, -255,149, -255,188, -255,71, -255,232, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,183, -255,201, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,254, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,226, -255,243, -255,3, -255,38, -255,255, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,115, -255,217, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,216, -255,203, -255,178, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,98, -255,238, -255,217, -255,101, -255,37, -255,202, -255,242, -255,177, -255,6, -0,0, -0,0, -0,0, -0,0, -255,190, -255,128, -0,0, -255,8, -255,245, -255,63, -255,65, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,242, -255,154, -255,84, -255,122, -255,145, -255,252, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,245, -255,28, -255,250, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,204, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,71, -255,56, -255,128, -255,248, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,255, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,2, -0,0, -0,0, -255,93, -255,225, -255,215, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,254, -255,229, -255,20, -255,53, -255,230, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,169, -0,0, -255,181, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,223, -255,121, -0,0, -0,0, -255,255, -255,78, -255,44, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,241, -255,197, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,224, -255,209, -0,0, -255,3, -255,237, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,218, -255,76, -0,0, -255,91, -255,220, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,40, -0,0, -0,0, -255,255, -255,255, -255,255, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,255, -255,255, -255,255, -255,255, -255,255, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,174, -255,32, -255,32, -255,32, -255,185, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,232, -255,233, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,234, -255,96, -0,0, -0,0, -0,0, -255,109, -255,234, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,250, -255,72, -255,85, -255,239, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,255, -255,28, -0,0, -0,0, -0,0, -255,39, -255,255, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,92, -255,218, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,30, -255,127, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,165, -255,235, -255,234, -255,184, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,212, -255,205, -255,210, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,183, -255,87, -255,75, -255,137, -255,191, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,244, -255,72, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,223, -255,225, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,248, -255,247, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,218, -255,92, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,221, -255,255, -255,56, -0,0, -255,9, -255,217, -255,78, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,242, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,112, -255,86, -255,190, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,211, -255,225, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,219, -255,121, -255,144, -255,229, -255,42, -255,100, -255,239, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,156, -255,231, -255,121, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,126, -255,141, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,248, -255,247, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,18, -255,2, -255,148, -255,241, -255,226, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,90, -255,213, -255,251, -255,155, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,140, -255,230, -255,230, -255,139, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,230, -255,120, -0,0, -0,0, -0,0, -255,133, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,126, -255,226, -255,235, -255,163, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,253, -255,43, -255,56, -255,252, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,211, -255,225, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,230, -255,157, -255,51, -255,67, -255,233, -255,255, -255,175, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,61, -255,185, -255,222, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,209, -255,65, -255,65, -255,209, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,73, -255,244, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,216, -255,1, -0,0, -255,3, -255,227, -255,105, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,205, -255,58, -255,42, -255,171, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,212, -0,0, -255,1, -255,224, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,126, -255,141, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,198, -255,245, -255,215, -255,123, -255,37, -255,160, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -0,0, -0,0, -0,0, -255,18, -255,255, -255,26, -0,0, -0,0, -0,0, -0,0, -255,4, -255,248, -255,51, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,254, -255,56, -0,0, -255,69, -255,246, -255,15, -0,0, -0,0, -0,0, -0,0, -255,2, -255,243, -255,40, -0,0, -0,0, -255,23, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,255, -255,255, -255,255, -255,255, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,253, -255,43, -255,56, -255,252, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,246, -255,142, -255,77, -255,90, -255,175, -255,211, -255,1, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,9, -0,0, -0,0, -255,10, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,183, -255,153, -0,0, -255,165, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,74, -255,32, -255,32, -255,88, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,212, -0,0, -255,1, -255,224, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,188, -255,238, -255,233, -255,168, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,249, -255,50, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,140, -255,230, -255,230, -255,139, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,239, -255,18, -255,245, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,250, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,233, -255,2, -0,0, -0,0, -255,7, -255,245, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,255, -255,255, -255,255, -255,255, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,208, -255,65, -255,65, -255,208, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,209, -255,65, -255,65, -255,209, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,230, -255,169, -255,215, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,201, -255,66, -255,33, -255,64, -255,108, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,161, -0,0, -0,0, -0,0, -0,0, -255,177, -255,211, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,74, -255,32, -255,32, -255,85, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,142, -255,232, -255,232, -255,141, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,248, -255,51, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,114, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,130, -255,223, -255,245, -255,211, -255,127, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,233, -255,2, -0,0, -0,0, -255,6, -255,244, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,192, -255,192, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,9, -0,0, -0,0, -255,10, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,241, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,161, -0,0, -0,0, -0,0, -0,0, -255,177, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,5, -255,5, -255,32, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,222, -255,222, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,249, -255,50, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,248, -255,247, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,103, -255,103, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,232, -255,136, -255,170, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,208, -255,65, -255,65, -255,208, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,211, -255,225, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,94, -255,239, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,142, -255,232, -255,232, -255,141, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,126, -255,226, -255,235, -255,163, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,126, -255,141, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,140, -255,230, -255,230, -255,139, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -255,43, -255,242, -255,223, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,248, -255,247, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,177, -255,93, -255,138, -255,155, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,205, -255,58, -255,42, -255,171, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,247, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,253, -255,43, -255,56, -255,252, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,209, -255,65, -255,65, -255,209, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -255,6, -255,204, -255,99, -255,255, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,95, -255,211, -255,225, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,15, -0,0, -255,213, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,90, -255,186, -255,207, -255,177, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,243, -255,40, -0,0, -0,0, -255,23, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,193, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,213, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,212, -0,0, -255,1, -255,224, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,248, -255,51, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,8, -255,131, -255,140, -255,9, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,185, -255,126, -255,141, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,64, -255,20, -255,16, -255,212, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,255, -255,255, -255,255, -255,255, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,9, -0,0, -0,0, -255,10, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,93, -255,209, -255,8, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,253, -255,43, -255,56, -255,252, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,121, -255,224, -255,237, -255,166, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,203, -255,255, -255,241, -255,181, -255,213, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,250, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,126, -255,226, -255,235, -255,163, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,71, -255,32, -255,32, -255,85, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -255,4, -255,249, -255,50, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,243, -255,50, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,212, -0,0, -255,1, -255,224, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,179, -255,222, -255,176, -0,0, -0,0, -255,75, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,208, -255,61, -255,40, -255,167, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,161, -255,24, -255,25, -255,146, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,201, -255,66, -255,33, -255,63, -255,109, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,205, -255,58, -255,42, -255,171, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,232, -255,2, -0,0, -0,0, -255,6, -255,244, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,208, -255,65, -255,65, -255,208, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,157, -255,241, -255,93, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,255, -255,255, -255,255, -255,255, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,156, -0,0, -255,46, -255,216, -255,54, -0,0, -0,0, -0,0, -0,0, -255,2, -255,243, -255,42, -0,0, -0,0, -255,22, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,19, -0,0, -0,0, -255,5, -255,255, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,130, -255,223, -255,245, -255,211, -255,127, -255,6, -0,0, -0,0, -0,0, -0,0, -255,2, -255,243, -255,40, -0,0, -0,0, -255,23, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,160, -0,0, -0,0, -0,0, -0,0, -255,177, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,142, -255,232, -255,232, -255,141, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,177, -255,135, -255,232, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,74, -255,32, -255,32, -255,85, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -255,21, -255,69, -255,67, -255,255, -255,20, -255,133, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -255,13, -255,254, -255,36, -0,0, -0,0, -255,46, -255,250, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,233, -255,2, -0,0, -0,0, -255,6, -255,244, -255,121, -0,0, -0,0, -0,0, -0,0, -255,34, -255,196, -255,237, -255,155, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,249, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,200, -255,64, -255,60, -255,199, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,250, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,161, -0,0, -0,0, -0,0, -0,0, -255,177, -255,211, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,30, -0,0, -255,133, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,211, -255,78, -255,34, -255,61, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,152, -255,234, -255,231, -255,149, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,201, -255,66, -255,33, -255,63, -255,109, -255,1, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,175, -255,158, -255,38, -255,159, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,118, -255,218, -255,247, -255,216, -255,131, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,130, -255,223, -255,245, -255,211, -255,127, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,212, -255,146, -255,2, -255,165, -255,186, -255,255, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,140, -255,230, -255,236, -255,159, -255,169, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,213, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,190, -255,191, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,192, -255,240, -255,210, -255,111, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,84, -255,1, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,206, -255,58, -255,78, -255,246, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,7, -255,8, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,251, -255,148, -255,73, -255,101, -255,189, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,248, -255,51, -255,1, -255,156, -255,153, -255,254, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,255, -255,54, -0,0, -0,0, -0,0, -255,146, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,210, -255,254, -255,40, -0,0, -255,10, -255,172, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,12, -255,128, -255,127, -255,12, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,252, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,237, -255,130, -0,0, -0,0, -255,1, -255,222, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,210, -255,254, -255,40, -0,0, -255,1, -255,147, -255,76, -0,0, -0,0, -0,0, -0,0, -255,6, -255,36, -255,255, -255,40, -255,13, -255,180, -255,101, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,253, -255,152, -255,155, -255,1, -255,52, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -255,28, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,206, -0,0, -0,0, -255,41, -255,255, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,36, -255,255, -255,40, -0,0, -255,115, -255,205, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,37, -255,41, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,168, -255,246, -255,77, -255,57, -255,205, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,44, -255,44, -255,78, -255,255, -255,44, -255,44, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -255,6, -255,252, -255,38, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,255, -255,27, -0,0, -255,117, -255,224, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,181, -255,242, -255,225, -255,135, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,52, -255,174, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -0,0, -255,135, -255,242, -255,155, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,169, -255,160, -255,237, -255,232, -255,141, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,140, -0,0, -0,0, -0,0, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,242, -255,103, -0,0, -255,192, -255,142, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,218, -255,153, -255,47, -255,54, -255,199, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,30, -255,1, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,173, -255,11, -255,82, -255,50, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,214, -0,0, -255,15, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,252, -255,148, -255,73, -255,100, -255,223, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,166, -255,177, -255,16, -255,252, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,255, -255,14, -0,0, -0,0, -255,40, -255,247, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,1, -255,1, -255,167, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,165, -255,103, -0,0, -0,0, -255,81, -255,210, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,196, -255,242, -255,211, -255,112, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,244, -255,92, -255,232, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,238, -255,146, -255,55, -255,65, -255,172, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,185, -255,9, -255,100, -255,144, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,183, -255,1, -0,0, -255,43, -255,212, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,146, -255,234, -255,227, -255,134, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,246, -255,222, -255,151, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,210, -255,245, -255,193, -255,78, -255,254, -255,8, -0,0, -0,0, -0,0, -0,0, -255,100, -255,216, -255,24, -255,19, -255,242, -255,175, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -255,45, -255,26, -0,0, -0,0, -255,234, -255,241, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,205, -255,61, -255,70, -255,213, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,174, -255,255, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,35, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,249, -255,50, -0,0, -0,0, -255,55, -255,247, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,120, -255,78, -255,47, -255,104, -255,240, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,151, -255,249, -255,249, -255,150, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,110, -255,209, -255,245, -255,210, -255,87, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,119, -255,218, -255,41, -255,41, -255,218, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,250, -255,49, -0,0, -0,0, -255,55, -255,247, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,186, -255,227, -255,223, -255,148, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,226, -255,83, -0,0, -0,0, -255,86, -255,224, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,204, -255,61, -255,69, -255,212, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,240, -255,89, -255,3, -255,16, -255,184, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,140, -255,230, -255,230, -255,139, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,24, -0,0, -0,0, -255,25, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,235, -255,229, -255,136, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,172, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,175, -255,235, -255,240, -255,190, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,183, -255,136, -0,0, -0,0, -0,0, -255,60, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,167, -255,225, -255,235, -255,173, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,119, -255,228, -255,76, -255,176, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,146, -255,209, -255,65, -255,65, -255,209, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,7, -0,0, -0,0, -255,7, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,135, -255,213, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,98, -255,42, -255,54, -255,139, -255,227, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,246, -255,46, -255,8, -255,101, -255,173, -255,209, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,243, -255,179, -255,87, -255,76, -255,164, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,52, -255,206, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,248, -255,51, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,13, -0,0, -0,0, -0,0, -0,0, -255,24, -255,255, -255,255, -255,255, -255,255, -255,255, -255,254, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,238, -255,38, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,51, -255,81, -255,166, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,255, -255,13, -255,185, -255,156, -255,46, -255,43, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,182, -255,162, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,100, -0,0, -255,15, -255,14, -0,0, -255,100, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,9, -0,0, -0,0, -255,10, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,218, -255,89, -0,0, -0,0, -255,92, -255,221, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,44, -255,44, -255,44, -255,48, -255,220, -255,115, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,240, -255,58, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,129, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,255, -255,20, -255,238, -255,103, -255,18, -255,131, -255,255, -0,0, -0,0, -0,0, -0,0, -255,3, -255,248, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,235, -255,197, -255,255, -255,255, -255,196, -255,234, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,223, -255,254, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,249, -255,50, -0,0, -0,0, -255,53, -255,248, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,107, -255,223, -255,46, -255,46, -255,224, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,161, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,37, -255,237, -255,108, -255,32, -255,32, -255,255, -255,67, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,14, -255,48, -255,162, -255,191, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,58, -255,94, -255,235, -255,219, -255,96, -255,255, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,172, -255,42, -255,41, -255,172, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,53, -255,238, -255,203, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,208, -255,65, -255,65, -255,208, -255,145, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,130, -255,244, -255,255, -255,163, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,235, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -0,0, -0,0, -0,0, -255,19, -255,255, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,251, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,246, -255,55, -0,0, -0,0, -255,56, -255,245, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,162, -255,117, -255,195, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,142, -255,232, -255,232, -255,141, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,246, -255,76, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -255,16, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,215, -255,120, -255,56, -255,75, -255,171, -255,221, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,238, -255,129, -255,23, -255,20, -255,89, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,186, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,170, -255,40, -255,40, -255,171, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,225, -255,82, -255,36, -255,254, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,246, -255,255, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,190, -255,95, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,186, -255,235, -255,237, -255,175, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,179, -255,238, -255,229, -255,163, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,235, -255,148, -255,55, -255,43, -255,129, -255,165, -0,0, -0,0, -0,0, -0,0, -255,40, -255,234, -255,197, -255,255, -255,255, -255,197, -255,232, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,245, -255,10, -0,0, -255,207, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -44,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,255, -255,45, -0,0, -0,0, -255,48, -255,254, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,158, -255,231, -255,245, -255,191, -255,52, -0,0, -0,0, -0,0, -0,0, -255,85, -255,100, -0,0, -255,15, -255,14, -0,0, -255,100, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,255, -255,255, -255,255, -255,198, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,189, -255,141, -0,0, -0,0, -255,128, -255,190, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,225, -255,114, -255,32, -255,32, -255,76, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,233, -255,5, -0,0, -255,208, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,232, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,29, -0,0, -0,0, -255,3, -255,239, -255,114, -0,0, -0,0, -0,0, -0,0, -255,60, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,215, -255,79, -255,31, -255,248, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,190, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,142, -255,215, -0,0, -0,0, -0,0, -0,0, -255,171, -255,201, -0,0, -0,0, -0,0, -0,0, -255,7, -255,28, -255,28, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,170, -255,106, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,126, -255,219, -255,59, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,74, -255,200, -255,242, -255,202, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,226, -255,193, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,184, -255,60, -255,220, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -255,16, -255,213, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,78, -255,250, -255,133, -255,70, -255,108, -255,172, -255,6, -0,0, -0,0, -0,0, -0,0, -255,40, -255,212, -255,144, -255,236, -255,121, -255,124, -255,236, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,238, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,15, -255,16, -255,213, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,213, -255,118, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,144, -255,133, -255,252, -255,146, -255,130, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,150, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,225, -255,225, -255,120, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,2, -255,42, -255,255, -255,2, -255,42, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,98, -255,241, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,239, -255,95, -255,95, -255,240, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,255, -255,255, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,45, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,10, -0,0, -255,168, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,5, -255,232, -255,224, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,99, -0,0, -0,0, -255,101, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,202, -255,221, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,157, -255,44, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,251, -255,41, -0,0, -255,21, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -255,11, -255,255, -255,26, -0,0, -0,0, -255,28, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,218, -255,112, -255,131, -255,217, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,231, -255,236, -255,164, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,193, -255,138, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,33, -255,255, -255,7, -0,0, -0,0, -255,8, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,254, -255,27, -255,40, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,251, -255,139, -255,70, -255,110, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -255,10, -255,255, -255,28, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,188, -0,0, -0,0, -255,198, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,200, -255,243, -255,205, -255,97, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,163, -255,225, -255,238, -255,182, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,103, -0,0, -0,0, -255,104, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,194, -255,255, -255,255, -255,255, -255,255, -255,193, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,225, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,235, -255,139, -255,35, -255,19, -255,101, -255,234, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,240, -255,95, -255,96, -255,241, -255,100, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,253, -255,75, -255,32, -255,32, -255,86, -255,253, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,162, -255,151, -255,51, -255,208, -255,237, -255,80, -255,113, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,119, -255,225, -255,225, -255,119, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,93, -255,244, -255,4, -0,0, -0,0, -255,11, -255,251, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,215, -255,246, -255,202, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -255,140, -255,255, -255,255, -255,255, -255,255, -255,255, -255,254, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,222, -255,46, -255,210, -255,139, -255,8, -0,0, -255,30, -255,223, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,170, -255,187, -0,0, -0,0, -0,0, -0,0, -255,199, -255,169, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,248, -255,104, -255,26, -255,150, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,44, -255,44, -255,44, -255,76, -255,250, -255,130, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,126, -255,226, -255,235, -255,163, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,32, -255,67, -255,255, -255,32, -255,32, -255,32, -255,8, -0,0, -0,0, -0,0, -0,0, -255,243, -255,11, -255,244, -255,60, -0,0, -0,0, -255,11, -255,244, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,247, -255,43, -0,0, -255,67, -255,219, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,200, -255,192, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,205, -255,58, -255,42, -255,171, -255,177, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,32, -255,190, -255,141, -255,29, -255,39, -255,40, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,240, -255,150, -255,196, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,139, -255,234, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,243, -255,40, -0,0, -0,0, -255,23, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,107, -255,41, -255,206, -255,238, -255,100, -255,118, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,179, -255,92, -255,122, -255,224, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,253, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,198, -255,54, -0,0, -0,0, -255,44, -255,211, -255,19, -0,0, -0,0, -0,0, -0,0, -255,139, -255,234, -255,13, -0,0, -255,6, -255,222, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,186, -255,240, -255,231, -255,159, -255,16, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,75, -0,0, -0,0, -255,32, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,236, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,32, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,250, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,240, -255,128, -255,39, -255,32, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,148, -255,165, -255,167, -255,165, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,234, -255,130, -0,0, -255,107, -255,236, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,154, -255,64, -255,50, -255,109, -255,31, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,201, -255,168, -255,55, -255,22, -255,121, -255,243, -255,8, -0,0, -0,0, -0,0, -0,0, -255,4, -255,195, -255,195, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,148, -255,201, -255,66, -255,33, -255,63, -255,109, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,81, -255,221, -255,244, -255,203, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,102, -255,245, -255,31, -255,229, -255,108, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,20, -255,210, -255,168, -255,3, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,28, -255,164, -255,232, -255,248, -255,206, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -255,132, -255,248, -255,72, -255,44, -255,44, -255,44, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,130, -255,223, -255,245, -255,211, -255,127, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,208, -255,221, -255,216, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,255, -255,255, -255,255, -255,255, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,17, -255,206, -255,178, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,254, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,255, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,254, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,55, -255,202, -255,196, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,236, -255,177, -255,233, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,218, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,222, -255,233, -255,228, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,205, -255,7, -255,223, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,223, -255,130, -255,44, -255,44, -255,44, -255,24, -0,0, -0,0, -0,0, -0,0, -255,255, -255,192, -255,15, -255,203, -255,173, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,44, -0,0, -0,0, -255,4, -255,255, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,238, -255,186, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,252, -255,69, -0,0, -255,89, -255,251, -255,39, -0,0, -0,0, -0,0, -0,0, -255,235, -255,255, -255,255, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,255, -255,43, -0,0, -255,39, -255,246, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,221, -255,83, -0,0, -0,0, -255,46, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,155, -255,24, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,240, -255,188, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,35, -255,71, -255,153, -255,231, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,183, -255,186, -0,0, -0,0, -255,2, -255,202, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,103, -255,245, -255,39, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -255,138, -255,222, -255,84, -255,75, -255,203, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,117, -255,236, -255,103, -255,116, -255,200, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,226, -255,176, -255,8, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,35, -255,70, -255,153, -255,231, -255,2, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,15, -255,255, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,11, -255,152, -255,234, -255,239, -255,171, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,169, -255,39, -255,171, -255,208, -255,61, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,155, -255,233, -255,87, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,16, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,2, -255,22, -255,134, -255,229, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,35, -255,161, -255,230, -255,229, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,226, -255,165, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,3, -255,44, -255,140, -255,236, -255,6, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,202, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,222, -255,112, -255,64, -255,158, -255,239, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,51, -255,44, -255,44, -255,36, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,227, -255,164, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,225, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,31, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,55, -0,0, -0,0, -255,16, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,249, -255,201, -255,244, -255,193, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,155, -255,233, -255,86, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,39, -255,231, -255,174, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,84, -0,0, -0,0, -0,0, -0,0, -255,67, -255,239, -255,24, -0,0, -255,42, -255,236, -255,41, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,126, -255,52, -255,54, -255,183, -255,210, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,227, -255,175, -255,8, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,94, -255,255, -255,51, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,156, -0,0, -255,180, -255,70, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,16, -0,0, -0,0, -0,0, -0,0, -255,1, -255,107, -255,214, -255,245, -255,209, -255,111, -255,3, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,239, -255,194, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,215, -255,53, -255,197, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,255, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,155, -255,24, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,2, -255,198, -255,182, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,109, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,230, -255,93, -255,45, -255,68, -255,73, -255,2, -0,0, -0,0, -0,0, -0,0, -255,255, -255,71, -255,58, -255,132, -255,249, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,167, -255,61, -255,195, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -0,0, -0,0, -0,0, -255,34, -255,254, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,51, -255,254, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,255, -255,255, -255,255, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,115, -255,179, -255,242, -255,201, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,124, -255,209, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,146, -255,234, -255,225, -255,121, -255,3, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,158, -255,63, -255,64, -255,198, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,172, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -255,247, -255,225, -255,87, -255,46, -255,164, -255,213, -255,1, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,34, -255,254, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,205, -255,61, -255,75, -255,226, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,166, -255,225, -255,238, -255,161, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,255, -255,255, -255,255, -255,255, -255,255, -255,44, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,68, -0,0, -0,0, -255,21, -255,255, -255,21, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,10, -255,255, -255,31, -0,0, -0,0, -0,0, -0,0, -255,5, -255,249, -255,50, -0,0, -0,0, -255,91, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,115, -0,0, -0,0, -255,26, -255,255, -255,16, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,36, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -255,30, -255,255, -255,9, -0,0, -0,0, -255,50, -255,245, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,166, -255,234, -255,236, -255,110, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,22, -0,0, -0,0, -0,0, -0,0, -255,61, -255,236, -255,74, -255,36, -255,172, -255,186, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,129, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,250, -255,49, -0,0, -0,0, -255,90, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,239, -255,123, -255,97, -255,203, -0,0, -0,0, -0,0, -0,0, -0,0, -255,180, -255,188, -255,52, -255,91, -255,253, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,215, -255,241, -255,172, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,71, -255,57, -255,134, -255,250, -255,71, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,204, -255,61, -255,74, -255,225, -255,108, -0,0, -0,0, -0,0, -0,0, -255,1, -255,88, -255,219, -255,66, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,62, -255,159, -255,229, -255,229, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,177, -255,39, -255,145, -255,210, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -255,247, -255,54, -0,0, -255,34, -255,251, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,240, -255,194, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,148, -255,235, -255,227, -255,122, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,36, -255,3, -0,0, -0,0, -0,0, -0,0, -255,255, -255,225, -255,112, -255,64, -255,158, -255,239, -255,5, -0,0, -0,0, -0,0, -0,0, -255,63, -255,166, -255,217, -255,245, -255,198, -255,49, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,171, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,163, -255,1, -0,0, -0,0, -0,0, -0,0, -255,255, -255,55, -0,0, -0,0, -255,16, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,148, -255,127, -255,64, -255,50, -255,154, -255,219, -255,1, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,242, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,38, -255,214, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,52, -255,93, -255,255, -255,25, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,90, -255,231, -255,167, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,236, -255,176, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,39, -255,185, -255,225, -255,185, -255,139, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,12, -255,147, -255,215, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,61, -255,31, -255,71, -255,172, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,217, -255,247, -255,211, -255,88, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,214, -255,106, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,80, -255,33, -255,127, -255,226, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,232, -255,163, -255,25, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,56, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,242, -255,123, -255,40, -255,44, -255,21, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,51, -255,217, -255,105, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,232, -255,133, -255,43, -255,71, -255,180, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,188, -255,247, -255,208, -255,62, -0,0, -0,0, -0,0, -0,0, -255,255, -255,175, -255,162, -255,181, -255,245, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,36, -255,65, -255,189, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,255, -255,255, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,104, -255,196, -255,242, -255,190, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,44, -0,0, -0,0, -255,4, -255,255, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,222, -255,241, -255,190, -255,80, -255,166, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,55, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,230, -255,50, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,32, -255,255, -255,67, -255,32, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,204, -255,76, -255,61, -255,192, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,153, -255,238, -255,219, -255,134, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,221, -255,83, -0,0, -0,0, -255,46, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,18, -255,255, -255,22, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,6, -255,45, -255,134, -255,236, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,41, -0,0, -0,0, -255,39, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,153, -255,219, -255,77, -255,59, -255,165, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,138, -255,222, -255,84, -255,75, -255,203, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,67, -255,34, -255,56, -255,173, -255,202, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,17, -255,255, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,10, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -255,5, -255,250, -255,60, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,11, -255,152, -255,234, -255,239, -255,171, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,232, -255,164, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,64, -255,30, -255,51, -255,163, -255,223, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,59, -255,248, -255,3, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,10, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,36, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,245, -255,38, -0,0, -255,24, -255,237, -255,122, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,239, -255,181, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,168, -255,59, -255,68, -255,213, -255,149, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,255, -255,45, -0,0, -0,0, -255,41, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,232, -255,94, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,139, -255,188, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,185, -255,202, -255,4, -255,172, -255,196, -255,3, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,102, -255,217, -255,239, -255,155, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,200, -255,60, -255,67, -255,195, -255,255, -0,0, -0,0, -0,0, -0,0, -255,252, -255,44, -0,0, -0,0, -255,4, -255,255, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,218, -255,32, -255,219, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,233, -255,182, -255,243, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,181, -255,242, -255,203, -255,80, -255,255, -0,0, -0,0, -0,0, -0,0, -255,221, -255,83, -0,0, -0,0, -255,46, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,147, -255,255, -255,143, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,222, -255,84, -255,75, -255,203, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,87, -255,206, -255,245, -255,211, -255,108, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,249, -255,151, -255,246, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,152, -255,234, -255,239, -255,171, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,243, -255,109, -255,49, -255,88, -255,144, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,222, -255,141, -255,1, -255,178, -255,214, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,147, -255,167, -255,192, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,213, -255,8, -0,0, -255,18, -255,224, -255,160, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,121, -255,195, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,27, -0,0, -255,17, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,27, -255,162, -255,230, -255,229, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,169, -255,138, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,245, -255,52, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,105, -255,197, -255,242, -255,189, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,32, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,255, -255,221, -255,112, -255,64, -255,158, -255,239, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,31, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,174, -255,140, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,211, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,203, -255,75, -255,61, -255,193, -255,187, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,92, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,16, -0,0, -0,0, -0,0, -0,0, -255,255, -255,55, -0,0, -0,0, -255,16, -255,255, -255,32, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,26, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,241, -255,105, -255,48, -255,86, -255,181, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,41, -0,0, -0,0, -255,39, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,16, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,172, -255,173, -255,144, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,101, -255,213, -255,245, -255,208, -255,100, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,10, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,23, -0,0, -255,28, -255,8, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,60, -255,247, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,167, -255,58, -255,70, -255,215, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,18, -0,0, -255,255, -0,0, -255,18, -255,2, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,133, -255,217, -255,238, -255,153, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,196, -255,177, -255,255, -255,177, -255,196, -255,22, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,83, -255,255, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,1, -255,169, -255,219, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,119, -255,233, -255,255, -255,64, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,186, -255,89, -255,185, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,22, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,126, -255,241, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,79, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,128, -0,0, -255,128, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,82, -255,252, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,15, -255,15, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,36, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,88, -255,245, -255,168, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,135, -255,198, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,44, -255,78, -255,255, -255,44, -255,44, -255,11, -0,0, -0,0, -0,0, -0,0, -255,255, -255,244, -255,219, -255,246, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,227, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,100, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -255,255, -255,199, -255,12, -255,214, -255,164, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,16, -255,129, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,48, -0,0, -255,75, -255,255, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,184, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,160, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,241, -255,162, -255,38, -255,155, -0,0, -0,0, -0,0, -0,0, -0,0, -255,109, -255,111, -0,0, -255,44, -255,153, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -255,201, -255,107, -0,0, -0,0, -0,0, -255,122, -255,206, -0,0, -0,0, -0,0, -0,0, -255,255, -255,132, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,1, -255,190, -255,199, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,30, -255,117, -255,221, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,198, -255,37, -255,148, -255,240, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,231, -255,102, -255,2, -255,196, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,217, -255,2, -0,0, -255,1, -255,212, -255,105, -0,0, -0,0, -0,0, -0,0, -255,255, -255,242, -255,23, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,166, -0,0, -0,0, -255,118, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,50, -255,254, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,32, -255,67, -255,255, -255,32, -255,32, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,69, -255,252, -255,32, -255,38, -255,246, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,229, -255,73, -0,0, -255,47, -255,246, -255,15, -0,0, -0,0, -0,0, -0,0, -255,255, -255,168, -255,146, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,254, -255,217, -255,8, -0,0, -255,195, -255,235, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,252, -255,44, -0,0, -0,0, -255,5, -255,255, -255,35, -0,0, -0,0, -0,0, -0,0, -255,255, -255,151, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,252, -255,32, -255,38, -255,246, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,184, -0,0, -255,137, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,56, -255,234, -255,32, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,156, -255,78, -255,30, -255,182, -255,229, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,255, -255,74, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -255,221, -255,82, -0,0, -0,0, -255,47, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -255,255, -255,252, -255,62, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,23, -255,231, -255,102, -255,2, -255,194, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,245, -255,33, -255,222, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,122, -255,161, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,87, -255,162, -255,111, -255,99, -255,243, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,134, -255,237, -255,255, -255,64, -0,0, -0,0, -0,0, -0,0, -255,140, -255,221, -255,82, -255,77, -255,205, -255,175, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,148, -255,217, -255,9, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,109, -255,112, -0,0, -255,45, -255,153, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,76, -255,198, -255,242, -255,190, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,182, -255,214, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,11, -255,230, -255,42, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,203, -255,178, -255,15, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,4, -255,11, -255,48, -255,4, -255,4, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,154, -255,235, -255,238, -255,169, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,43, -255,206, -255,135, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,204, -255,76, -255,61, -255,192, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,255, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,107, -255,167, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,128, -255,167, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,50, -255,248, -255,49, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,41, -0,0, -0,0, -255,39, -255,255, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,245, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,6, -255,220, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -255,10, -255,15, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,136, -255,205, -255,43, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,10, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -255,23, -255,76, -255,214, -255,139, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,92, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,32, -255,32, -255,32, -255,32, -255,32, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -255,9, -255,218, -255,147, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,59, -255,248, -255,3, -0,0, -0,0, -0,0, -0,0, -255,208, -255,237, -255,149, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,255, -255,255, -255,255, -255,255, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,186, -255,245, -255,224, -255,145, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,63, -255,252, -255,255, -0,0, -0,0, -0,0, -0,0, -255,25, -255,168, -255,237, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,168, -255,58, -255,69, -255,214, -255,149, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,44, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,172, -255,199, -255,51, -255,42, -255,174, -255,179, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,121, -255,203, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,151, -255,255, -0,0, -0,0, -0,0, -0,0, -255,190, -255,161, -255,35, -255,35, -255,163, -255,195, -255,12, -0,0, -0,0, -0,0, -0,0, -255,255, -255,132, -255,217, -255,238, -255,154, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,255, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,204, -255,32, -0,0, -0,0, -255,32, -255,204, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,65, -255,186, -255,12, -255,27, -255,255, -255,13, -0,0, -0,0, -0,0, -0,0, -255,7, -255,144, -255,162, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,239, -255,55, -0,0, -0,0, -255,56, -255,242, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,246, -255,47, -255,202, -255,15, -255,12, -255,255, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,175, -255,42, -255,42, -255,176, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,196, -255,188, -255,109, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,220, -255,62, -0,0, -0,0, -255,40, -255,254, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,248, -255,255, -255,239, -255,169, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,153, -255,238, -255,220, -255,106, -255,254, -0,0, -0,0, -0,0, -0,0, -255,1, -255,32, -255,5, -255,2, -255,32, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,169, -255,110, -0,0, -0,0, -255,122, -255,207, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,129, -255,38, -255,32, -255,25, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,153, -255,219, -255,77, -255,59, -255,165, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,52, -0,0, -0,0, -255,75, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,63, -255,217, -255,49, -255,98, -255,246, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,144, -255,217, -255,243, -255,184, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -255,84, -255,255, -255,255, -255,255, -255,255, -255,246, -255,126, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,250, -255,60, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,22, -255,32, -255,67, -255,255, -255,32, -255,32, -255,17, -0,0, -0,0, -0,0, -0,0, -255,53, -255,192, -255,242, -255,234, -255,192, -255,100, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,171, -255,48, -255,93, -255,211, -255,253, -255,31, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,219, -255,229, -255,126, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,36, -255,71, -255,255, -255,36, -255,36, -255,9, -0,0, -0,0, -0,0, -0,0, -255,117, -255,166, -255,60, -255,45, -255,170, -255,196, -0,0, -0,0, -0,0, -0,0, -0,0, -255,192, -255,79, -0,0, -0,0, -255,13, -255,96, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,31, -255,255, -255,10, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,255, -255,255, -255,136, -0,0, -0,0, -0,0, -0,0, -255,224, -255,134, -255,38, -255,36, -255,90, -255,132, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,189, -255,245, -255,194, -255,37, -255,167, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,255, -255,255, -255,255, -255,255, -255,255, -255,60, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -255,228, -255,133, -255,33, -255,18, -255,67, -255,178, -255,159, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,255, -255,45, -0,0, -0,0, -255,41, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,196, -255,173, -255,64, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,198, -255,244, -255,242, -255,207, -255,115, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,178, -255,200, -255,60, -255,67, -255,195, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,103, -255,198, -255,235, -255,149, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,115, -255,212, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,181, -255,242, -255,204, -255,110, -255,255, -0,0, -0,0, -0,0, -0,0, -255,252, -255,44, -0,0, -0,0, -255,4, -255,255, -255,35, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,29, -255,180, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,124, -255,243, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,164, -255,190, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,221, -255,83, -0,0, -0,0, -255,46, -255,253, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,173, -255,84, -255,35, -255,38, -255,105, -255,243, -255,10, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,55, -0,0, -0,0, -255,55, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,61, -255,185, -255,235, -255,234, -255,175, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,208, -255,199, -255,50, -255,44, -255,44, -255,21, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,138, -255,222, -255,84, -255,75, -255,203, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,180, -255,234, -255,241, -255,193, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,180, -255,61, -255,98, -255,214, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,248, -255,137, -255,60, -255,55, -255,144, -255,62, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,237, -255,185, -255,61, -255,65, -255,177, -0,0, -0,0, -0,0, -0,0, -255,186, -255,255, -255,255, -255,255, -255,255, -255,255, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,11, -255,152, -255,234, -255,239, -255,171, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,220, -255,236, -255,171, -255,29, -255,253, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,121, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,48, -255,207, -255,58, -255,147, -255,250, -255,238, -255,65, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,170, -255,221, -255,244, -255,186, -255,32, -0,0, -0,0, -0,0, -0,0, -255,136, -255,255, -255,255, -255,255, -255,255, -255,250, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,243, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -0,0, -0,0, -255,10, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,124, -255,61, -255,53, -255,179, -255,181, -0,0, -0,0, -0,0, -0,0, -255,17, -255,32, -255,32, -255,86, -255,254, -255,99, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,205, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,121, -255,242, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,229, -255,144, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,247, -255,123, -255,48, -255,50, -255,129, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,196, -255,187, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -255,56, -255,160, -255,255, -255,255, -255,255, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,239, -0,0, -0,0, -255,240, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,64, -255,192, -255,248, -255,252, -255,191, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,100, -0,0, -0,0, -0,0, -255,118, -255,205, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,152, -255,219, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,47, -255,142, -255,220, -255,245, -255,64, -0,0, -0,0, -0,0, -0,0, -255,167, -255,74, -0,0, -0,0, -255,75, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,97, -0,0, -255,64, -255,165, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -255,234, -255,29, -255,255, -255,155, -255,212, -255,239, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,218, -0,0, -0,0, -255,218, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,83, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,89, -255,212, -255,1, -0,0, -0,0, -255,210, -255,104, -0,0, -0,0, -0,0, -0,0, -255,232, -255,131, -255,42, -255,78, -255,199, -255,255, -0,0, -0,0, -0,0, -0,0, -255,102, -255,250, -255,74, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -255,255, -255,213, -255,170, -255,89, -255,64, -255,8, -0,0, -0,0, -0,0, -0,0, -255,76, -255,242, -255,73, -255,74, -255,242, -255,76, -0,0, -0,0, -0,0, -0,0, -255,77, -255,238, -255,24, -255,64, -255,243, -255,69, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,217, -255,57, -255,255, -255,42, -255,200, -255,215, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,181, -0,0, -0,0, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,230, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,229, -255,70, -0,0, -255,45, -255,245, -255,14, -0,0, -0,0, -0,0, -0,0, -255,79, -255,225, -255,238, -255,178, -255,55, -255,253, -0,0, -0,0, -0,0, -0,0, -255,250, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,241, -255,242, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -255,246, -255,115, -0,0, -255,245, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,215, -255,74, -255,16, -255,176, -255,113, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,186, -255,125, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,122, -255,183, -0,0, -255,137, -255,157, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,241, -255,242, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -255,246, -255,115, -0,0, -255,245, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,127, -255,229, -255,230, -255,128, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,246, -255,35, -255,222, -255,56, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,242, -255,73, -255,74, -255,242, -255,76, -0,0, -0,0, -0,0, -0,0, -255,77, -255,237, -255,23, -255,64, -255,243, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,185, -255,211, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,75, -0,0, -0,0, -255,75, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -255,97, -255,97, -0,0, -255,64, -255,165, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,45, -255,255, -255,109, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,244, -255,17, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,28, -255,241, -255,104, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,223, -255,156, -0,0, -0,0, -0,0, -0,0, -255,156, -255,152, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,78, -255,215, -255,135, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -255,214, -255,15, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,105, -255,232, -255,230, -255,138, -255,7, -0,0, -0,0, -0,0, -0,0, -255,13, -255,147, -255,229, -255,254, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,180, -255,141, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,194, -255,176, -0,0, -0,0, -0,0, -0,0, -255,60, -255,240, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,209, -255,236, -255,145, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,253, -255,95, -255,52, -255,130, -255,23, -0,0, -0,0, -0,0, -0,0, -255,158, -255,255, -255,255, -255,255, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,219, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,255, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,253, -255,225, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,245, -255,93, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,255, -255,255, -255,255, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,123, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,44, -255,255, -255,78, -255,44, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,115, -255,230, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,85, -255,248, -255,44, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,55, -255,232, -255,247, -255,204, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -255,234, -255,255, -255,255, -255,255, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,251, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,17, -255,212, -0,0, -255,214, -255,15, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,116, -255,202, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,213, -255,88, -255,23, -255,135, -255,248, -255,117, -0,0, -0,0, -0,0, -0,0, -255,158, -255,255, -255,255, -255,255, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,186, -255,122, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,234, -255,105, -0,0, -0,0, -255,92, -255,237, -0,0, -0,0, -0,0, -0,0, -255,13, -255,157, -255,248, -255,255, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,218, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,114, -255,206, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,212, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,255, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,100, -255,249, -255,162, -255,46, -255,91, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,24, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,55, -0,0, -0,0, -255,55, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,241, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,214, -255,106, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,37, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,249, -255,82, -255,2, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,178, -255,254, -255,252, -255,98, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,180, -255,61, -255,98, -255,214, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,153, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,247, -255,16, -0,0, -0,0, -0,0, -0,0, -0,0, -255,75, -255,216, -255,255, -255,215, -255,85, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,106, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,220, -255,236, -255,171, -255,29, -255,253, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,242, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,158, -255,162, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,245, -255,128, -255,48, -255,108, -255,149, -0,0, -0,0, -0,0, -0,0, -255,41, -255,44, -255,255, -255,78, -255,44, -255,4, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,32, -255,32, -255,32, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,80, -0,0, -255,85, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,253, -255,66, -255,1, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,121, -255,142, -255,50, -255,108, -255,249, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,216, -255,93, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,245, -255,63, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,255, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,255, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,76, -255,137, -0,0, -255,194, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,55, -0,0, -0,0, -255,55, -255,255, -0,0, -0,0, -0,0, -0,0, -255,61, -255,193, -255,241, -255,225, -255,88, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,34, -255,121, -255,240, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,119, -255,189, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,101, -255,219, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,249, -255,169, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,107, -0,0, -255,216, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,180, -255,61, -255,98, -255,214, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,191, -255,245, -255,225, -255,86, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,47, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,201, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,177, -255,250, -255,107, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,112, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,220, -255,236, -255,171, -255,29, -255,253, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,46, -255,252, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,44, -255,44, -255,44, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,49, -255,28, -255,188, -0,0, -0,0, -0,0, -0,0, -0,0, -255,108, -255,254, -255,229, -255,101, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,176, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,172, -255,57, -255,16, -255,127, -255,221, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -255,255, -255,255, -255,255, -255,248, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,19, -255,60, -255,156, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,6, -255,255, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,8, -255,237, -255,76, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,130, -255,242, -255,255, -255,235, -255,70, -0,0, -0,0, -0,0, -0,0, -255,59, -255,128, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,231, -255,120, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,36, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,232, -255,255, -255,251, -255,112, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,88, -255,229, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,255, -255,4, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,200, -255,208, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,214, -0,0, -255,114, -255,102, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,227, -255,73, -255,226, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,211, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,216, -255,137, -255,255, -255,22, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,36, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,188, -255,132, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,114, -255,241, -255,128, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,190, -0,0, -255,142, -255,74, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,131, -255,59, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,120, -255,185, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,23, -255,255, -255,27, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,227, -255,228, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,180, -255,147, -0,0, -0,0, -0,0, -0,0, -0,0, -255,47, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,191, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,162, -0,0, -255,170, -255,46, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,9, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -0,0, -255,211, -255,19, -0,0, -0,0, -0,0, -0,0, -255,61, -255,162, -255,213, -255,245, -255,199, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,255, -255,22, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,181, -255,102, -255,77, -255,199, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,218, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,35, -255,190, -255,208, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,180, -255,250, -255,254, -255,133, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,133, -255,71, -255,48, -255,172, -255,187, -0,0, -0,0, -0,0, -0,0, -255,65, -255,170, -255,221, -255,244, -255,186, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,231, -255,92, -255,255, -255,25, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,113, -255,240, -255,129, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,44, -255,44, -255,78, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,126, -255,24, -255,83, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -255,68, -255,175, -255,226, -255,241, -255,177, -255,27, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,129, -255,243, -0,0, -0,0, -0,0, -0,0, -255,149, -255,124, -255,61, -255,53, -255,179, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,92, -255,245, -255,255, -255,255, -255,148, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,16, -255,255, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,25, -255,199, -255,208, -255,48, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,247, -255,10, -0,0, -0,0, -0,0, -0,0, -255,141, -255,119, -255,53, -255,63, -255,189, -255,176, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,121, -255,242, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,45, -255,1, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,59, -255,129, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,13, -255,208, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,123, -255,241, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,34, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,141, -255,185, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -255,229, -255,142, -255,50, -255,59, -255,186, -255,255, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,204, -255,226, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,41, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,112, -255,75, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -255,65, -255,210, -255,245, -255,193, -255,63, -255,253, -0,0, -0,0, -0,0, -0,0, -255,232, -255,131, -255,42, -255,78, -255,199, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,248, -255,55, -0,0, -0,0, -255,55, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,159, -255,38, -255,210, -255,9, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,3, -255,25, -0,0, -0,0, -255,66, -255,238, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,29, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,236, -255,123, -255,46, -255,98, -255,209, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,225, -255,238, -255,178, -255,53, -255,251, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,180, -255,61, -255,98, -255,214, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,115, -255,229, -255,96, -255,73, -255,202, -255,171, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,249, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,96, -255,239, -255,224, -255,163, -255,60, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,62, -255,220, -255,236, -255,172, -255,30, -255,250, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,65, -255,170, -255,221, -255,244, -255,186, -255,32, -0,0, -0,0, -0,0, -0,0, -255,32, -255,32, -255,32, -255,32, -255,32, -255,32, -0,0, -0,0, -0,0, -0,0, -255,27, -255,198, -255,236, -255,137, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,10, -255,143, -255,221, -255,239, -255,175, -255,24, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,204, -255,167, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,229, -255,229, -255,77, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,124, -255,61, -255,53, -255,179, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,5, -255,59, -255,99, -255,234, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,72, -255,73, -255,228, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,121, -255,242, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,255, -255,134, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,231, -255,70, -255,70, -255,230, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,68, -255,67, -255,255, -255,20, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,32, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,80, -255,230, -255,230, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,36, -255,197, -255,237, -255,155, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,124, -255,220, -255,243, -255,136, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,68, -255,255, -255,67, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,36, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,131, -255,42, -255,78, -255,199, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,167, -255,202, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,219, -255,231, -255,82, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,153, -255,91, -0,0, -0,0, -0,0, -0,0, -255,91, -255,152, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,4, -255,223, -255,156, -0,0, -0,0, -0,0, -0,0, -255,62, -255,44, -255,60, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,164, -255,157, -255,163, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,240, -255,91, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,214, -0,0, -255,214, -255,16, -0,0, -0,0, -0,0, -0,0, -255,79, -255,225, -255,238, -255,178, -255,55, -255,253, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,223, -255,249, -255,14, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,206, -255,129, -255,91, -255,239, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,130, -255,210, -255,17, -0,0, -0,0, -0,0, -0,0, -255,18, -255,211, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,194, -255,176, -0,0, -0,0, -0,0, -0,0, -255,91, -255,170, -255,155, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,14, -255,233, -255,17, -255,232, -255,13, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,67, -255,229, -255,18, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,30, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,247, -255,55, -255,15, -255,255, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,245, -255,41, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,43, -255,245, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,241, -255,86, -255,68, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,98, -255,166, -0,0, -255,167, -255,97, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,144, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,50, -255,79, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,207, -255,127, -255,89, -255,241, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -255,176, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,128, -255,235, -255,174, -255,227, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,193, -255,78, -0,0, -255,79, -255,192, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,65, -255,170, -255,221, -255,244, -255,186, -255,32, -0,0, -0,0, -0,0, -0,0, -255,18, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,150, -255,166, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,58, -255,221, -255,233, -255,84, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,231, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,32, -255,32, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,43, -255,5, -0,0, -255,5, -255,43, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,149, -255,124, -255,61, -255,53, -255,179, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,39, -255,244, -255,57, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,255, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,18, -255,56, -255,121, -255,242, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,197, -255,123, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,34, -255,255, -255,6, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,7, -255,255, -255,33, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,190, -255,224, -255,180, -255,155, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,16, -255,213, -0,0, -255,14, -255,216, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,255, -255,22, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,14, -255,255, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,26, -255,255, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,103, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -255,250, -255,121, -255,59, -255,173, -255,58, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,233, -255,68, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,70, -255,231, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,232, -255,131, -255,42, -255,78, -255,199, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,99, -255,234, -255,227, -255,149, -255,12, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,240, -255,240, -255,240, -255,240, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,151, -255,154, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,155, -255,148, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,216, -255,255, -255,255, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,96, -255,190, -255,69, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,15, -255,92, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,225, -255,238, -255,178, -255,55, -255,253, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,44, -255,245, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,42, -255,245, -255,42, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,231, -255,255, -255,190, -0,0, -0,0, -0,0, -0,0, -255,255, -255,39, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,19, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,131, -255,209, -255,17, -0,0, -0,0, -0,0, -0,0, -255,17, -255,210, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,129, -255,231, -255,96, -0,0, -0,0, -0,0, -0,0, -255,240, -255,23, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -255,154, -255,91, -0,0, -0,0, -0,0, -0,0, -255,91, -255,152, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,218, -255,5, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,250, -255,65, -0,0, -0,0, -255,58, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,181, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,215, -255,167, -255,61, -255,114, -255,223, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,90, -255,191, -255,73, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,21, -255,34, -0,0, -0,0, -0,0, -0,0, -255,25, -255,28, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,221, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,116, -0,0, -0,0, -0,0, -0,0, -0,0, -255,11, -0,0, -0,0, -255,11, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,82, -255,236, -255,221, -255,151, -255,45, -255,255, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,230, -255,255, -255,191, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,12, -255,226, -255,121, -0,0, -0,0, -0,0, -0,0, -255,63, -255,244, -255,36, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,77, -255,250, -255,16, -0,0, -0,0, -0,0, -0,0, -255,214, -255,16, -255,16, -255,214, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,128, -255,231, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,138, -255,166, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,110, -255,180, -0,0, -0,0, -0,0, -0,0, -255,18, -255,55, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,172, -255,155, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,4, -0,0, -0,0, -0,0, -0,0, -255,96, -255,190, -255,69, -0,0, -0,0, -0,0, -0,0, -255,22, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -255,57, -255,132, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,20, -255,124, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,91, -255,255, -255,169, -0,0, -0,0, -0,0, -0,0, -255,231, -255,255, -255,190, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,225, -255,255, -255,185, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,24, -255,3, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,239, -255,240, -0,0, -0,0, -0,0, -0,0, -255,128, -255,231, -255,96, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,233, -255,103, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,134, -255,242, -255,156, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -255,1, -255,30, -255,5, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,199, -255,255, -255,164, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,66, -255,222, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,79, -255,48, -255,255, -255,24, -0,0, -0,0, -0,0, -0,0, -255,25, -255,223, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,163, -255,246, -255,239, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,32, -255,204, -255,119, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,86, -255,202, -255,1, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,71, -255,217, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,179, -255,130, -255,2, -0,0, -0,0, -0,0, -0,0, -255,57, -255,132, -255,40, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,54, -255,204, -255,30, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,56, -255,215, -255,96, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,225, -255,255, -255,185, -0,0, -0,0, -0,0, -0,0, -255,20, -255,128, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,22, -255,140, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,241, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -255,255, -255,40, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,27, -255,219, -255,89, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,136, -255,233, -255,103, -0,0, -0,0, -0,0, -0,0, -255,17, -255,54, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,7, -0,0, -0,0, -0,0, -0,0, -255,255, -255,255, -255,255, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -255,2, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,212, -255,255, -255,19, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,145, -255,222, -255,7, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -255,40, -255,255, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -0,0, -}; diff --git a/scene/resources/default_theme/mono_font.inc b/scene/resources/default_theme/mono_font.inc deleted file mode 100644 index 04ba51c3b5..0000000000 --- a/scene/resources/default_theme/mono_font.inc +++ /dev/null @@ -1,5 +0,0 @@ -static const int _bi_font_mono_height=14; -static const int _bi_font_mono_ascent=12; -static const int _bi_font_mono_valign=-3; -static const int _bi_font_mono_charcount=196; -static const int _bi_font_mono_characters[]={0, 131, 82, 3, 3, -1, 14, 8, 8, 127, 82, 3, 3, -1, 14, 8, 9, 123, 82, 3, 3, -1, 14, 8, 13, 119, 82, 3, 3, -1, 14, 8, 29, 115, 82, 3, 3, -1, 14, 8, 32, 111, 83, 3, 3, -1, 14, 8, 33, 252, 43, 3, 12, 2, 4, 8, 34, 30, 83, 5, 6, 1, 3, 8, 35, 213, 31, 9, 12, -1, 4, 8, 36, 19, 17, 8, 15, 0, 3, 8, 37, 223, 30, 9, 12, -1, 4, 8, 38, 233, 30, 9, 12, 0, 4, 8, 39, 251, 65, 3, 6, 2, 3, 8, 40, 72, 17, 6, 15, 1, 4, 8, 41, 79, 17, 6, 15, 1, 4, 8, 42, 183, 70, 7, 8, 0, 4, 8, 43, 20, 73, 9, 9, -1, 6, 8, 44, 54, 83, 4, 5, 1, 13, 8, 45, 86, 83, 6, 3, 1, 10, 8, 46, 135, 82, 3, 3, 2, 13, 8, 47, 67, 0, 8, 16, 0, 3, 8, 48, 117, 59, 8, 12, 0, 4, 8, 49, 161, 58, 7, 12, 1, 4, 8, 50, 126, 59, 8, 12, 0, 4, 8, 51, 108, 59, 8, 12, 0, 4, 8, 52, 135, 59, 8, 12, 0, 4, 8, 53, 144, 59, 8, 12, 0, 4, 8, 54, 90, 47, 8, 12, 0, 4, 8, 55, 99, 47, 8, 12, 0, 4, 8, 56, 108, 46, 8, 12, 0, 4, 8, 57, 117, 46, 8, 12, 0, 4, 8, 58, 249, 56, 3, 8, 2, 8, 8, 59, 233, 56, 4, 10, 1, 8, 8, 60, 94, 73, 8, 9, 0, 6, 8, 61, 14, 83, 8, 6, 0, 8, 8, 62, 76, 73, 8, 9, 0, 6, 8, 63, 176, 58, 6, 12, 1, 4, 8, 64, 127, 17, 8, 14, 0, 4, 8, 65, 40, 47, 9, 12, -1, 4, 8, 66, 126, 46, 8, 12, 0, 4, 8, 67, 135, 46, 8, 12, 0, 4, 8, 68, 144, 46, 8, 12, 0, 4, 8, 69, 153, 45, 8, 12, 0, 4, 8, 70, 162, 45, 8, 12, 0, 4, 8, 71, 171, 45, 8, 12, 0, 4, 8, 72, 180, 44, 8, 12, 0, 4, 8, 73, 153, 58, 7, 12, 0, 4, 8, 74, 189, 44, 8, 12, 0, 4, 8, 75, 99, 60, 8, 12, 0, 4, 8, 76, 198, 44, 8, 12, 0, 4, 8, 77, 207, 44, 8, 12, 0, 4, 8, 78, 216, 44, 8, 12, 0, 4, 8, 79, 225, 43, 8, 12, 0, 4, 8, 80, 234, 43, 8, 12, 0, 4, 8, 81, 100, 17, 8, 14, 0, 4, 8, 82, 50, 47, 9, 12, 0, 4, 8, 83, 243, 43, 8, 12, 0, 4, 8, 84, 30, 47, 9, 12, -1, 4, 8, 85, 0, 60, 8, 12, 0, 4, 8, 86, 10, 47, 9, 12, -1, 4, 8, 87, 9, 60, 8, 12, 0, 4, 8, 88, 60, 47, 9, 12, -1, 4, 8, 89, 70, 47, 9, 12, -1, 4, 8, 90, 18, 60, 8, 12, 0, 4, 8, 91, 93, 17, 6, 15, 1, 4, 8, 92, 112, 0, 8, 16, 0, 3, 8, 93, 86, 17, 6, 15, 1, 4, 8, 94, 201, 69, 9, 7, 0, 4, 8, 95, 75, 83, 10, 3, -1, 16, 8, 96, 42, 83, 5, 5, 1, 3, 8, 97, 49, 73, 8, 9, 0, 7, 8, 98, 144, 32, 8, 13, 0, 3, 8, 99, 148, 72, 8, 9, 0, 7, 8, 100, 126, 32, 8, 13, 0, 3, 8, 101, 58, 73, 8, 9, 0, 7, 8, 102, 163, 17, 9, 13, 0, 3, 8, 103, 81, 60, 8, 12, 0, 7, 8, 104, 153, 31, 8, 13, 0, 3, 8, 105, 206, 57, 8, 11, 0, 5, 8, 106, 145, 17, 7, 14, 0, 5, 8, 107, 162, 31, 8, 13, 0, 3, 8, 108, 45, 33, 8, 13, 0, 3, 8, 109, 139, 72, 8, 9, 0, 7, 8, 110, 130, 72, 8, 9, 0, 7, 8, 111, 121, 72, 8, 9, 0, 7, 8, 112, 72, 60, 8, 12, 0, 7, 8, 113, 63, 60, 8, 12, 0, 7, 8, 114, 166, 71, 7, 9, 1, 7, 8, 115, 85, 73, 8, 9, 0, 7, 8, 116, 197, 57, 8, 11, 0, 5, 8, 117, 67, 73, 8, 9, 0, 7, 8, 118, 30, 73, 9, 9, -1, 7, 8, 119, 10, 73, 9, 9, -1, 7, 8, 120, 0, 73, 9, 9, -1, 7, 8, 121, 54, 60, 8, 12, 0, 7, 8, 122, 40, 73, 8, 9, 0, 7, 8, 123, 85, 0, 8, 16, 0, 3, 8, 124, 212, 0, 3, 16, 2, 3, 8, 125, 76, 0, 8, 16, 0, 3, 8, 126, 59, 83, 9, 4, 0, 9, 8, 160, 107, 83, 3, 3, -1, 14, 8, 161, 183, 57, 3, 12, 2, 7, 8, 162, 118, 17, 8, 14, 0, 4, 8, 163, 27, 60, 8, 12, 0, 4, 8, 164, 238, 56, 10, 9, -1, 6, 8, 165, 243, 30, 9, 12, -1, 4, 8, 166, 208, 0, 3, 16, 2, 3, 8, 167, 109, 17, 8, 14, 0, 4, 8, 168, 69, 83, 5, 4, 1, 3, 8, 169, 215, 57, 8, 10, 0, 6, 8, 170, 0, 83, 6, 7, 1, 4, 8, 171, 211, 69, 8, 7, 0, 7, 8, 172, 191, 69, 9, 7, 0, 9, 8, 173, 100, 83, 6, 3, 1, 10, 8, 174, 224, 57, 8, 10, 0, 6, 8, 175, 93, 83, 6, 3, 1, 4, 8, 176, 23, 83, 6, 6, 1, 3, 8, 177, 187, 57, 9, 11, -1, 5, 8, 178, 237, 67, 6, 7, 1, 4, 8, 179, 244, 66, 6, 7, 1, 4, 8, 180, 36, 83, 5, 5, 2, 3, 8, 181, 45, 60, 8, 12, 0, 7, 8, 182, 0, 17, 9, 15, -1, 4, 8, 183, 139, 82, 3, 3, 2, 10, 8, 184, 48, 83, 5, 5, 1, 14, 8, 185, 7, 83, 6, 7, 1, 4, 8, 186, 229, 68, 7, 7, 0, 4, 8, 187, 220, 68, 8, 7, 0, 7, 8, 188, 191, 31, 10, 12, -1, 4, 8, 189, 180, 31, 10, 12, -1, 4, 8, 190, 202, 31, 10, 12, -1, 4, 8, 191, 169, 58, 6, 12, 0, 7, 8, 192, 20, 0, 9, 16, -1, 0, 8, 193, 30, 0, 9, 16, -1, 0, 8, 194, 10, 0, 9, 16, -1, 0, 8, 195, 227, 0, 9, 15, -1, 1, 8, 196, 237, 0, 9, 15, -1, 1, 8, 197, 216, 0, 10, 15, -1, 1, 8, 198, 20, 47, 9, 12, -1, 4, 8, 199, 46, 17, 8, 15, 0, 4, 8, 200, 175, 0, 8, 16, 0, 0, 8, 201, 166, 0, 8, 16, 0, 0, 8, 202, 157, 0, 8, 16, 0, 0, 8, 203, 37, 17, 8, 15, 0, 1, 8, 204, 192, 0, 7, 16, 0, 0, 8, 205, 200, 0, 7, 16, 0, 0, 8, 206, 184, 0, 7, 16, 0, 0, 8, 207, 64, 17, 7, 15, 0, 1, 8, 208, 80, 47, 9, 12, -1, 4, 8, 209, 28, 17, 8, 15, 0, 1, 8, 210, 121, 0, 8, 16, 0, 0, 8, 211, 103, 0, 8, 16, 0, 0, 8, 212, 94, 0, 8, 16, 0, 0, 8, 213, 10, 17, 8, 15, 0, 1, 8, 214, 247, 0, 8, 15, 0, 1, 8, 215, 174, 71, 8, 8, 0, 7, 8, 216, 0, 47, 9, 12, -1, 4, 8, 217, 58, 0, 8, 16, 0, 0, 8, 218, 49, 0, 8, 16, 0, 0, 8, 219, 40, 0, 8, 16, 0, 0, 8, 220, 55, 17, 8, 15, 0, 1, 8, 221, 0, 0, 9, 16, -1, 0, 8, 222, 90, 60, 8, 12, 0, 4, 8, 223, 135, 32, 8, 13, 0, 3, 8, 224, 108, 32, 8, 13, 0, 3, 8, 225, 99, 33, 8, 13, 0, 3, 8, 226, 90, 33, 8, 13, 0, 3, 8, 227, 81, 33, 8, 13, 0, 3, 8, 228, 72, 33, 8, 13, 0, 3, 8, 229, 136, 17, 8, 14, 0, 2, 8, 230, 103, 73, 8, 9, 0, 7, 8, 231, 36, 60, 8, 12, 0, 7, 8, 232, 54, 33, 8, 13, 0, 3, 8, 233, 36, 33, 8, 13, 0, 3, 8, 234, 27, 33, 8, 13, 0, 3, 8, 235, 18, 33, 8, 13, 0, 3, 8, 236, 117, 32, 8, 13, 0, 3, 8, 237, 9, 33, 8, 13, 0, 3, 8, 238, 63, 33, 8, 13, 0, 3, 8, 239, 0, 33, 8, 13, 0, 3, 8, 240, 153, 17, 9, 13, 0, 3, 8, 241, 218, 16, 8, 13, 0, 3, 8, 242, 209, 17, 8, 13, 0, 3, 8, 243, 200, 17, 8, 13, 0, 3, 8, 244, 191, 17, 8, 13, 0, 3, 8, 245, 182, 17, 8, 13, 0, 3, 8, 246, 173, 17, 8, 13, 0, 3, 8, 247, 112, 72, 8, 9, 0, 6, 8, 248, 157, 71, 8, 9, 0, 7, 8, 249, 171, 31, 8, 13, 0, 3, 8, 250, 227, 16, 8, 13, 0, 3, 8, 251, 236, 16, 8, 13, 0, 3, 8, 252, 245, 16, 8, 13, 0, 3, 8, 253, 148, 0, 8, 16, 0, 3, 8, 254, 130, 0, 8, 16, 0, 3, 8, 255, 139, 0, 8, 16, 0, 3, 8}; diff --git a/scene/resources/default_theme/normal_font.inc b/scene/resources/default_theme/normal_font.inc deleted file mode 100644 index 3f03b43ae9..0000000000 --- a/scene/resources/default_theme/normal_font.inc +++ /dev/null @@ -1,5 +0,0 @@ -static const int _bi_font_normal_height=13; -static const int _bi_font_normal_ascent=12; -static const int _bi_font_normal_valign=-2; -static const int _bi_font_normal_charcount=196; -static const int _bi_font_normal_characters[]={0, 75, 53, 2, 2, -1, 12, 0, 8, 78, 53, 2, 2, -1, 12, 0, 9, 63, 53, 2, 2, -1, 12, 3, 13, 66, 53, 2, 2, -1, 12, 3, 29, 69, 53, 2, 2, -1, 12, 0, 32, 72, 53, 2, 2, -1, 12, 3, 33, 249, 33, 2, 9, 0, 4, 3, 34, 0, 57, 4, 4, 0, 3, 5, 35, 0, 37, 7, 9, 0, 4, 8, 36, 0, 0, 6, 13, 0, 2, 7, 37, 91, 24, 9, 9, 0, 4, 10, 38, 212, 24, 8, 9, 0, 4, 8, 39, 5, 56, 2, 4, 0, 3, 3, 40, 200, 0, 4, 12, 0, 3, 4, 41, 195, 0, 4, 12, -1, 3, 4, 42, 199, 44, 6, 6, 0, 4, 6, 43, 192, 44, 6, 6, 0, 6, 7, 44, 245, 43, 3, 5, -1, 10, 3, 45, 58, 53, 4, 2, 0, 8, 5, 46, 32, 54, 2, 3, 0, 10, 3, 47, 172, 0, 6, 12, -1, 3, 5, 48, 89, 34, 6, 9, 0, 4, 7, 49, 239, 33, 4, 9, 0, 4, 7, 50, 96, 34, 6, 9, 0, 4, 7, 51, 82, 34, 6, 9, 0, 4, 7, 52, 103, 34, 6, 9, 0, 4, 7, 53, 110, 34, 6, 9, 0, 4, 7, 54, 117, 34, 6, 9, 0, 4, 7, 55, 124, 34, 6, 9, 0, 4, 7, 56, 131, 34, 6, 9, 0, 4, 7, 57, 138, 34, 6, 9, 0, 4, 7, 58, 19, 46, 2, 8, 0, 5, 3, 59, 39, 25, 3, 10, -1, 5, 3, 60, 137, 44, 8, 6, -1, 6, 7, 61, 249, 43, 6, 4, 0, 8, 7, 62, 146, 44, 8, 6, -1, 6, 7, 63, 227, 34, 5, 9, 0, 4, 5, 64, 107, 13, 10, 10, 0, 4, 11, 65, 194, 24, 8, 9, -1, 4, 7, 66, 8, 37, 7, 9, 0, 4, 8, 67, 239, 23, 7, 9, 0, 4, 8, 68, 158, 24, 8, 9, 0, 4, 9, 69, 152, 34, 6, 9, 0, 4, 7, 70, 159, 34, 6, 9, 0, 4, 6, 71, 32, 36, 7, 9, 0, 4, 8, 72, 16, 36, 7, 9, 0, 4, 8, 73, 0, 47, 2, 9, 0, 4, 3, 74, 166, 34, 6, 9, -1, 4, 6, 75, 131, 24, 8, 9, 0, 4, 8, 76, 180, 34, 6, 9, 0, 4, 6, 77, 69, 25, 10, 9, 0, 4, 11, 78, 203, 24, 8, 9, 0, 4, 9, 79, 221, 24, 8, 9, 0, 4, 9, 80, 24, 36, 7, 9, 0, 4, 7, 81, 0, 14, 8, 11, 0, 4, 9, 82, 230, 24, 8, 9, 0, 4, 8, 83, 194, 34, 6, 9, 0, 4, 6, 84, 140, 24, 8, 9, -1, 4, 7, 85, 247, 23, 7, 9, 0, 4, 8, 86, 185, 24, 8, 9, -1, 4, 7, 87, 56, 25, 12, 9, -1, 4, 11, 88, 176, 24, 8, 9, -1, 4, 7, 89, 167, 24, 8, 9, -1, 4, 7, 90, 54, 35, 6, 9, 0, 4, 7, 91, 210, 0, 4, 12, 0, 3, 4, 92, 144, 0, 6, 12, -1, 3, 5, 93, 185, 0, 4, 12, -1, 3, 4, 94, 178, 44, 6, 6, 0, 4, 7, 95, 35, 54, 7, 2, -1, 13, 6, 96, 21, 55, 3, 3, 0, 3, 5, 97, 125, 44, 5, 7, 0, 6, 6, 98, 239, 12, 6, 10, 0, 3, 7, 99, 85, 44, 6, 7, 0, 6, 7, 100, 134, 13, 6, 10, 0, 3, 7, 101, 106, 44, 6, 7, 0, 6, 7, 102, 18, 25, 5, 10, 0, 3, 5, 103, 68, 35, 6, 9, 0, 6, 7, 104, 141, 13, 6, 10, 0, 3, 7, 105, 34, 25, 4, 10, -1, 3, 3, 106, 179, 0, 5, 12, -2, 3, 3, 107, 148, 13, 6, 10, 0, 3, 6, 108, 29, 25, 4, 10, 0, 3, 3, 109, 22, 46, 10, 7, 0, 6, 11, 110, 71, 45, 6, 7, 0, 6, 7, 111, 78, 45, 6, 7, 0, 6, 7, 112, 201, 34, 6, 9, 0, 6, 7, 113, 208, 34, 6, 9, 0, 6, 7, 114, 119, 44, 5, 7, 0, 6, 5, 115, 131, 44, 5, 7, 0, 6, 6, 116, 221, 34, 5, 9, 0, 4, 6, 117, 99, 44, 6, 7, 0, 6, 7, 118, 92, 44, 6, 7, -1, 6, 5, 119, 33, 46, 10, 7, -1, 6, 9, 120, 63, 45, 7, 7, -1, 6, 6, 121, 61, 35, 6, 9, -1, 6, 5, 122, 113, 44, 5, 7, 0, 6, 6, 123, 190, 0, 4, 12, 0, 3, 4, 124, 228, 0, 2, 12, 0, 3, 3, 125, 215, 0, 4, 12, -1, 3, 4, 126, 8, 56, 7, 3, 0, 7, 7, 160, 81, 53, 2, 2, -1, 12, 3, 161, 252, 33, 2, 9, 0, 6, 3, 162, 34, 13, 6, 11, 0, 4, 7, 163, 40, 36, 6, 9, 0, 4, 7, 164, 3, 47, 8, 8, -1, 4, 8, 165, 149, 24, 8, 9, -1, 4, 7, 166, 231, 0, 2, 12, 0, 3, 3, 167, 55, 13, 5, 11, 0, 3, 6, 168, 48, 54, 4, 2, 0, 4, 5, 169, 101, 24, 9, 9, 0, 4, 10, 170, 221, 44, 4, 6, 0, 4, 5, 171, 155, 44, 7, 6, -1, 6, 6, 172, 226, 44, 6, 5, 0, 7, 7, 173, 53, 54, 4, 2, 0, 8, 5, 174, 121, 24, 9, 9, 0, 4, 10, 175, 43, 54, 4, 2, 0, 4, 5, 176, 240, 43, 4, 5, 0, 2, 4, 177, 12, 47, 6, 8, 0, 5, 7, 178, 206, 44, 4, 6, -1, 4, 4, 179, 211, 44, 4, 6, -1, 4, 4, 180, 25, 54, 3, 3, 1, 3, 5, 181, 173, 34, 6, 9, 0, 6, 7, 182, 26, 13, 7, 11, 0, 4, 8, 183, 29, 54, 2, 3, 0, 7, 3, 184, 16, 56, 4, 3, 0, 12, 5, 185, 216, 44, 4, 6, -1, 4, 4, 186, 233, 44, 6, 5, -1, 4, 5, 187, 163, 44, 7, 6, -2, 6, 6, 188, 72, 13, 11, 10, -1, 4, 10, 189, 96, 13, 10, 10, -1, 4, 10, 190, 84, 13, 11, 10, -1, 4, 10, 191, 215, 34, 5, 9, 0, 6, 5, 192, 34, 0, 8, 12, -1, 1, 7, 193, 25, 0, 8, 12, -1, 1, 7, 194, 7, 0, 8, 12, -1, 1, 7, 195, 16, 0, 8, 12, -1, 1, 7, 196, 243, 0, 8, 11, -1, 2, 7, 197, 234, 0, 8, 11, -1, 2, 7, 198, 43, 25, 12, 9, -1, 4, 11, 199, 97, 0, 7, 12, 0, 4, 8, 200, 137, 0, 6, 12, 0, 1, 7, 201, 151, 0, 6, 12, 0, 1, 7, 202, 158, 0, 6, 12, 0, 1, 7, 203, 48, 13, 6, 11, 0, 2, 7, 204, 224, 0, 3, 12, -1, 1, 3, 205, 220, 0, 3, 12, 0, 1, 3, 206, 205, 0, 4, 12, -1, 1, 3, 207, 67, 13, 4, 11, -1, 2, 3, 208, 111, 24, 9, 9, -1, 4, 9, 209, 52, 0, 8, 12, 0, 1, 9, 210, 61, 0, 8, 12, 0, 1, 9, 211, 70, 0, 8, 12, 0, 1, 9, 212, 79, 0, 8, 12, 0, 1, 9, 213, 88, 0, 8, 12, 0, 1, 9, 214, 9, 13, 8, 11, 0, 2, 9, 215, 171, 44, 6, 6, 0, 6, 7, 216, 80, 24, 10, 9, -1, 4, 9, 217, 105, 0, 7, 12, 0, 1, 8, 218, 129, 0, 7, 12, 0, 1, 8, 219, 121, 0, 7, 12, 0, 1, 8, 220, 18, 13, 7, 11, 0, 2, 8, 221, 43, 0, 8, 12, -1, 1, 7, 222, 47, 35, 6, 9, 0, 4, 7, 223, 126, 13, 7, 10, 0, 3, 7, 224, 12, 25, 5, 10, 0, 3, 6, 225, 6, 26, 5, 10, 0, 3, 6, 226, 0, 26, 5, 10, 0, 3, 6, 227, 246, 12, 5, 10, 0, 3, 6, 228, 233, 34, 5, 9, 0, 4, 6, 229, 61, 13, 5, 11, 0, 2, 6, 230, 44, 46, 9, 7, 0, 6, 10, 231, 225, 13, 6, 10, 0, 6, 7, 232, 190, 13, 6, 10, 0, 3, 7, 233, 183, 13, 6, 10, 0, 3, 7, 234, 169, 13, 6, 10, 0, 3, 7, 235, 187, 34, 6, 9, 0, 4, 7, 236, 252, 0, 3, 10, -1, 3, 3, 237, 252, 11, 3, 10, 0, 3, 3, 238, 24, 25, 4, 10, -1, 3, 3, 239, 244, 33, 4, 9, -1, 4, 3, 240, 118, 13, 7, 10, 0, 3, 7, 241, 232, 13, 6, 10, 0, 3, 7, 242, 218, 13, 6, 10, 0, 3, 7, 243, 211, 13, 6, 10, 0, 3, 7, 244, 204, 13, 6, 10, 0, 3, 7, 245, 197, 13, 6, 10, 0, 3, 7, 246, 145, 34, 6, 9, 0, 4, 7, 247, 185, 44, 6, 6, 0, 6, 7, 248, 54, 45, 8, 7, -1, 6, 7, 249, 176, 13, 6, 10, 0, 3, 7, 250, 162, 13, 6, 10, 0, 3, 7, 251, 155, 13, 6, 10, 0, 3, 7, 252, 75, 35, 6, 9, 0, 4, 7, 253, 165, 0, 6, 12, -1, 3, 5, 254, 113, 0, 7, 12, 0, 3, 7, 255, 41, 13, 6, 11, -1, 4, 5}; diff --git a/scene/resources/default_theme/theme_data.h b/scene/resources/default_theme/theme_data.h index fe9fa06154..80148c0fc5 100644 --- a/scene/resources/default_theme/theme_data.h +++ b/scene/resources/default_theme/theme_data.h @@ -89,21 +89,6 @@ static const unsigned char focus_png[]={ }; -static const unsigned char font_bold_png[]={ -0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x8,0x4,0x0,0x0,0x0,0x4e,0xbc,0x7f,0x81,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xb,0x3,0x17,0x31,0x25,0x45,0x78,0xbe,0xb3,0x0,0x0,0x18,0x50,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x3d,0x68,0x24,0x49,0x96,0xc7,0xa3,0x47,0x86,0x6,0xea,0x40,0x3,0x5a,0xa8,0x3,0xed,0x52,0x86,0x6,0x74,0x20,0x43,0xb3,0xe8,0x40,0x3,0x1a,0xd0,0x82,0xe,0x34,0x20,0x43,0x86,0xe,0x64,0xf4,0x81,0x8c,0x36,0x64,0xf4,0x82,0xe,0xda,0x68,0x43,0x86,0xc,0x19,0x32,0x64,0x68,0xa1,0x17,0x64,0x68,0x17,0x19,0x5a,0xd0,0x40,0x1d,0xc8,0x68,0xa3,0xe,0xb4,0xa0,0x3,0xd,0x68,0x41,0x7,0x3a,0x90,0x51,0x7,0x75,0x50,0x46,0xdd,0x51,0xb,0x75,0x50,0xb7,0xa4,0x51,0xb,0x69,0xfc,0xce,0xc8,0xc8,0xc8,0xf8,0xca,0x8f,0x52,0x77,0xab,0xbb,0x87,0x78,0xd0,0x2d,0x55,0x28,0x23,0x32,0x2b,0xe2,0xc5,0x8b,0xf7,0xde,0xff,0xbd,0x97,0x42,0x4,0xa,0x24,0x84,0x10,0x6c,0x72,0x4d,0xcd,0xd3,0x3e,0x41,0x83,0x6,0x13,0x4e,0xfb,0x22,0x77,0x2c,0x79,0xae,0xaf,0x71,0xcd,0x66,0xb5,0xf6,0x71,0xc6,0xf0,0x3f,0xdf,0xbb,0x8f,0xe0,0xbb,0x16,0xa0,0xf8,0x2e,0x9e,0x3e,0xce,0xe8,0x66,0x2f,0xbd,0x87,0x7d,0x2d,0xd,0x4e,0xe8,0x1,0x43,0xae,0xd8,0x70,0x9e,0xef,0x90,0x98,0x43,0xa7,0xf5,0x9e,0xfb,0xf4,0x7f,0xa3,0x7d,0x87,0x88,0x3d,0xe6,0x69,0x56,0xbb,0x3e,0xbb,0xe0,0x5,0x31,0x67,0x56,0xdb,0xa,0x37,0xc4,0x24,0x34,0x60,0x41,0xfb,0xcb,0x36,0x23,0x20,0x66,0xdb,0x19,0xe7,0x8c,0x98,0x17,0x9e,0xf1,0x9d,0xf6,0xf1,0xc6,0xf0,0x3e,0xdf,0x3b,0x8f,0x90,0xf3,0x64,0x6,0x3,0xf8,0xee,0xe2,0xe9,0x63,0x8d,0x6e,0xf7,0xd2,0x7b,0x98,0xd7,0xb2,0x4c,0x84,0x4e,0xf6,0xb7,0x8c,0x59,0x20,0xae,0xcc,0x0,0x4d,0xe6,0xd9,0x23,0x62,0x67,0x4c,0x6,0x10,0x82,0x25,0x2e,0x8c,0xcf,0xf3,0x6a,0xf1,0xcf,0xb8,0x7,0x56,0xb4,0xbf,0x1d,0x73,0xc6,0x1c,0x67,0x1c,0x3b,0xa3,0x5c,0xf8,0x76,0xa4,0xaf,0x7d,0xdc,0x31,0xec,0xe7,0x7b,0x1f,0x23,0xb8,0xd7,0x32,0xc7,0x1d,0x0,0x43,0x2e,0xf3,0xef,0xe2,0x1b,0xdf,0x1c,0xdd,0xee,0x65,0xdd,0x45,0x5d,0x4b,0x9d,0x21,0xd0,0x64,0x5e,0x8,0xea,0xbc,0x22,0x2,0x93,0xa1,0x89,0x80,0xe8,0x63,0x1c,0xa,0xaf,0x15,0x4f,0xae,0x70,0x66,0x32,0xc0,0x4f,0xf8,0x28,0xbc,0x53,0xdf,0xfa,0xee,0x49,0xee,0x77,0x4,0xb4,0x98,0xa2,0xc9,0x88,0x11,0x37,0xbc,0x30,0xef,0x4c,0x9d,0x11,0x30,0x62,0xda,0xea,0x37,0x45,0x4,0xc,0xed,0x43,0xcd,0xd7,0xae,0x4b,0x34,0xfb,0x78,0x2b,0xea,0xb6,0x9b,0xcf,0x0,0x63,0xdd,0xfe,0x3a,0xed,0xcb,0xa,0x70,0x5d,0xf4,0x50,0xe3,0xb4,0xa,0xc1,0x3c,0x2d,0x46,0x8c,0x68,0x19,0xc7,0x53,0xe5,0x56,0xba,0xc0,0x9c,0x10,0xcc,0x1,0x9d,0x6c,0x7c,0x66,0x85,0x60,0x96,0x45,0xad,0x45,0x52,0xf5,0x16,0xe7,0x20,0xc9,0xf9,0xc4,0x3,0xb0,0xcc,0x85,0xea,0x3e,0x9,0xba,0xc0,0x57,0xdb,0xf0,0x95,0x35,0xd3,0x2f,0x65,0xfb,0x4e,0x79,0x7b,0x15,0x6,0xf0,0x75,0xab,0xd3,0xcf,0x65,0x80,0x71,0x6e,0xaf,0x96,0x3d,0x63,0x85,0xf7,0xc1,0x0,0x34,0xb4,0xb3,0x33,0x62,0xee,0x11,0xad,0x27,0xc0,0x9e,0x10,0xec,0x81,0x12,0xd5,0xf7,0xc0,0x35,0x9b,0x99,0xda,0xfb,0x81,0x19,0x20,0x59,0xf4,0x11,0x30,0x93,0xb4,0x5a,0x57,0xb6,0x81,0x43,0xe0,0xc1,0x23,0xa9,0x9a,0xae,0x9c,0xf2,0xb5,0x57,0x61,0x0,0xef,0x70,0x4c,0xf3,0x9a,0x8e,0x97,0x1,0xc6,0xb8,0xbd,0x5c,0xf8,0x75,0xd6,0xb3,0xfd,0xff,0x5e,0x18,0xe0,0x1c,0x68,0x31,0xcd,0x34,0x97,0xa0,0xce,0xd4,0x71,0x5a,0xd7,0x40,0xaa,0x46,0xb0,0xaa,0x74,0x80,0x7b,0x0,0xee,0x15,0x9b,0x38,0x53,0x56,0xa5,0x65,0x2c,0x6,0x98,0x20,0x4e,0x19,0x80,0x5,0x7d,0xb1,0x59,0x4,0x6,0x4c,0xd2,0x7,0x4b,0x9e,0x41,0xc4,0x14,0x3,0x60,0xbe,0xac,0xbd,0x94,0x1,0xf2,0x86,0x93,0xda,0xab,0xc3,0x0,0xe3,0xdd,0x5e,0x7e,0x8d,0xe,0x1d,0x48,0xc5,0xea,0x7b,0x61,0x80,0x41,0x22,0xac,0x85,0xa0,0x1,0xc,0x1f,0xd1,0x3a,0xc9,0x0,0xd8,0x2,0x6,0xba,0xa1,0xcb,0x32,0x6f,0x33,0x26,0xf6,0xef,0xed,0xb2,0x96,0x31,0x8f,0x80,0x2b,0x4d,0x3e,0xc1,0x9e,0xa6,0x4a,0xc2,0x1b,0xf9,0xf3,0x48,0xeb,0x7f,0x0,0x9c,0xb,0xc1,0x29,0x70,0x50,0xd6,0x5e,0xce,0x0,0x39,0xc3,0xe5,0x32,0xc0,0x58,0xb7,0x57,0x3b,0xd0,0x30,0x70,0xde,0x3,0x3,0xbc,0xf,0x2d,0xe2,0x4,0x18,0x1,0x27,0xaa,0x65,0x95,0x45,0xc9,0x26,0x3c,0x9,0x3,0xec,0x3,0xd7,0xcc,0xd3,0x26,0xe6,0x9a,0x11,0x11,0x6f,0xb4,0xe3,0xa7,0xa7,0x9d,0x2d,0x3d,0xad,0x7f,0x47,0x6b,0xef,0x94,0xb5,0x27,0xc7,0x8c,0x64,0x79,0x2f,0x3,0xe4,0xc,0x97,0xcb,0x0,0x63,0xdd,0x5e,0xea,0x13,0x0,0x75,0x73,0xa,0xdc,0x87,0x1a,0xab,0x75,0x8,0x34,0x9c,0x5d,0x3d,0x46,0xab,0x94,0x4d,0x18,0x92,0xe9,0x5a,0x7d,0x83,0xfb,0x27,0x39,0x2,0x6a,0xb4,0x81,0x5b,0xd6,0x99,0x12,0x82,0x5a,0xf2,0x94,0x4a,0x12,0x99,0xb4,0x2c,0xdb,0x17,0xac,0xf6,0x85,0x92,0xf6,0x2e,0x70,0x48,0x8d,0x1a,0x87,0x40,0xd7,0x7e,0xd0,0x9c,0x6e,0x79,0xc,0x30,0xee,0xed,0x73,0xbc,0x6b,0xde,0x87,0x1a,0xab,0xf5,0x2,0xb8,0x54,0xe7,0x7a,0xf3,0x11,0xad,0x93,0xd2,0x6a,0xd1,0x15,0xa6,0x37,0xc,0x13,0x23,0xf0,0x69,0x74,0x0,0x21,0x68,0xf0,0xa0,0xcd,0xda,0xb5,0xe1,0x3,0x54,0x92,0x94,0x3,0xeb,0xf7,0x63,0xed,0x90,0x28,0x6b,0x7f,0x65,0xac,0xcb,0x2b,0xdf,0x1,0xe0,0xe9,0x96,0xcb,0x0,0x63,0xde,0x3e,0x87,0x1,0xbc,0xf,0x35,0x56,0xeb,0x9c,0xa1,0xd9,0xcf,0x3f,0xa2,0x35,0xb5,0xf9,0xd7,0xca,0x96,0xee,0xc3,0x59,0x1,0xd2,0xdd,0xfe,0x92,0x6b,0x69,0x40,0x9f,0x5b,0x12,0x55,0xdf,0x5e,0x1d,0xad,0x7d,0xb1,0x7a,0xbb,0x10,0xec,0xf0,0x0,0xc4,0xdc,0xd9,0x76,0x5b,0x61,0x37,0x29,0x86,0xb6,0xa9,0x27,0xff,0x3f,0xf6,0xf6,0x39,0xbb,0xc6,0xfb,0x50,0x63,0xb5,0x2e,0x28,0xdb,0x7e,0xf1,0x31,0xad,0x3c,0x0,0x7d,0x77,0x4a,0x9e,0x9a,0x1,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0xa,0xc0,0xb3,0xf,0xd4,0x76,0xae,0x71,0x47,0xb1,0x5a,0xac,0x51,0xc6,0xc3,0x96,0x7d,0xad,0xb9,0x23,0xe8,0x3a,0x82,0xe7,0x1a,0x56,0xb8,0x5,0x86,0xa9,0x1d,0xae,0xab,0x3d,0xb2,0xe5,0x96,0x81,0x35,0xa6,0x33,0xe,0x53,0xf4,0xe8,0x31,0xa5,0x3e,0x6f,0x71,0xab,0x61,0xef,0xb7,0x6c,0x69,0xbd,0x37,0xe8,0x68,0x27,0x77,0x27,0xc3,0xdf,0xfd,0xa7,0x7a,0x91,0x47,0x41,0x1b,0xb5,0x51,0x82,0x3a,0x2c,0xd0,0x22,0x2,0xfa,0x99,0x92,0xe7,0x89,0x20,0xa8,0x0,0x3c,0x7b,0x61,0x71,0xe3,0x1a,0x77,0x14,0x4f,0x8b,0x1a,0xe5,0x8b,0x42,0x86,0xfc,0x7,0xf1,0xad,0x10,0xe2,0x4f,0xe2,0x8f,0x15,0x5a,0xfd,0xf4,0x8f,0x42,0x88,0x1f,0x72,0xf9,0x7d,0x41,0xfc,0x51,0x7c,0x2b,0x84,0xf8,0x4a,0x7c,0x2d,0x9b,0x7e,0x90,0x7d,0x32,0xfa,0x56,0xfc,0x6c,0xcc,0x5d,0x34,0x29,0x7e,0x23,0xbe,0x15,0xdf,0xc8,0x8f,0xdf,0x88,0x6f,0xc5,0x6f,0x12,0x2f,0x82,0x10,0x42,0x88,0xdf,0xa9,0x7b,0x9,0x21,0xc4,0xd7,0xe2,0x77,0xef,0xb0,0x5f,0xd5,0x52,0x8b,0x1f,0xd9,0x55,0xac,0xf0,0xa3,0xf8,0x5e,0x7c,0x29,0xbe,0x14,0xdf,0x8b,0x1f,0x53,0x53,0x52,0xfc,0x8b,0xf8,0x5e,0xfc,0x8d,0x10,0xe2,0x6f,0xc5,0xcf,0x55,0xf7,0xaf,0xc4,0x77,0xe2,0xb7,0xc6,0x80,0xdf,0x88,0x1f,0xc4,0xdf,0x89,0x3f,0xa8,0x67,0x17,0x42,0x88,0x2f,0xc5,0x77,0xcf,0x7e,0x9f,0x7d,0x7c,0xf6,0x7b,0xf1,0x9d,0xf8,0xd2,0x7a,0x10,0xf3,0x1a,0x77,0x14,0xa7,0xc5,0x3b,0xca,0x7,0x11,0x69,0xce,0x8e,0x36,0xfe,0xda,0x4,0xce,0xa9,0x31,0x93,0x8a,0xa7,0x2a,0xd6,0x43,0xe9,0x3d,0xb7,0x81,0x4e,0xba,0xe4,0x4c,0xd2,0xd1,0x11,0x76,0x80,0x14,0x5a,0x65,0xba,0xd8,0x49,0x5a,0x2c,0x1,0xc,0x80,0x29,0xb3,0x7f,0xce,0xc,0xd4,0x41,0xee,0x77,0x22,0x89,0x3b,0x36,0xc,0x8f,0xbe,0x37,0x3e,0xe1,0x63,0x9c,0x3c,0xd5,0x1,0x54,0x88,0x74,0x98,0x54,0x73,0xd4,0x58,0xb0,0xaa,0xc7,0x16,0x75,0x8d,0xa7,0x21,0x30,0x53,0xcc,0x32,0xd2,0x72,0x1f,0x72,0x64,0xe2,0x73,0xf9,0x86,0x1b,0x97,0xa6,0xb3,0x83,0x57,0x90,0x6,0x77,0x14,0x3a,0x64,0xc6,0x65,0x80,0x73,0xe0,0x8a,0x69,0xb6,0x40,0x3,0x98,0x4c,0xd4,0x61,0x60,0xb8,0x9c,0x2f,0x7d,0xc1,0x72,0xf6,0xdd,0xb4,0x3b,0x4c,0x70,0xc8,0x90,0x11,0xcd,0xf4,0xa8,0xf0,0x5c,0x53,0xa5,0xd7,0x4,0xc7,0x44,0x44,0x9c,0x78,0xe7,0x70,0x2c,0x0,0x15,0xa0,0x2f,0x9d,0xaa,0xd9,0x2d,0x3d,0xb0,0xaa,0xed,0xbd,0xca,0xb3,0x9e,0xbd,0xb8,0xc4,0x81,0xd7,0xa,0x3f,0xac,0xc8,0x0,0x3d,0xf,0x44,0xd5,0xd3,0xbd,0x95,0xd6,0xe8,0xb,0x8f,0x64,0x80,0x1,0x30,0x4f,0x83,0x21,0x7,0xda,0x52,0xfb,0xb1,0x88,0x21,0x70,0x44,0x27,0xc3,0x43,0xdc,0x45,0xf1,0x2c,0xe5,0x9e,0x1d,0x26,0x56,0x89,0x1,0xdc,0x5e,0xfb,0xaa,0xc5,0x7,0x10,0x8d,0x5,0xa0,0x26,0xf4,0x40,0xcd,0xb8,0xa5,0x7,0x56,0x75,0x77,0xb3,0x67,0x82,0x23,0x8f,0x4,0xb0,0xe,0x1,0x9,0x97,0x3e,0xd7,0xc1,0x90,0x12,0x6,0x28,0x59,0x48,0xc3,0xd7,0x76,0x5e,0xc4,0x8e,0x25,0xac,0x9a,0x3c,0xd9,0xd,0xd7,0x4c,0x94,0x22,0x14,0x31,0x30,0xc5,0x94,0x5,0x2,0x19,0x8b,0xe2,0x59,0xca,0x2e,0xb0,0xc8,0x82,0x36,0x4e,0x15,0x6,0x70,0x7b,0xf5,0x80,0x55,0x56,0x73,0xe6,0x70,0x2c,0x0,0x15,0xe0,0x22,0x61,0x8,0xed,0x96,0x5e,0x58,0xd5,0xbb,0x94,0xa6,0xaf,0xec,0x16,0x38,0x65,0x92,0xba,0xe1,0xb3,0xf3,0xb2,0x4d,0xd5,0x25,0x7e,0x42,0x6,0x48,0x76,0xf5,0x80,0x19,0xe6,0xb5,0x19,0x7a,0xeb,0x45,0x1d,0x4e,0x80,0x2e,0x27,0x9a,0x2c,0x72,0x16,0xc5,0xbf,0xb8,0x7e,0x99,0x59,0xd6,0x52,0xd6,0xcb,0x64,0x80,0x31,0x61,0x55,0x26,0xb9,0x5,0x76,0x8a,0x61,0xd5,0x22,0x61,0xae,0x5a,0x5e,0x7a,0x21,0x10,0xf7,0xe0,0x98,0x66,0x2d,0x13,0xb2,0x9f,0xcc,0x11,0x90,0x84,0x71,0x6d,0x30,0xcd,0x95,0xb6,0xd4,0xcb,0x2a,0x94,0x56,0x3b,0x3a,0x85,0x60,0x83,0xb,0x22,0xd,0x2d,0x71,0x17,0x2e,0x4a,0xf0,0x16,0xad,0xa5,0xf,0x6c,0x33,0xc1,0x64,0xb2,0x15,0xbd,0xd7,0x54,0xe9,0x55,0x22,0x1,0xc6,0x81,0x55,0x93,0xa0,0xa5,0x19,0x6,0x8c,0x8c,0x49,0x77,0x60,0x55,0xbf,0x3a,0xe7,0xec,0xa2,0x43,0x9,0x81,0x9c,0x54,0x50,0x1d,0x4f,0x3f,0x31,0x25,0x70,0x49,0x7b,0xb6,0x48,0x8b,0xbf,0xd9,0x92,0x28,0xfe,0x95,0x86,0x3a,0x2c,0x33,0x2f,0x67,0x72,0x94,0x2b,0x1,0x5a,0xce,0xce,0x3d,0x52,0xd,0xed,0xdc,0x6b,0xaa,0xf4,0x3a,0x50,0x2d,0x47,0x3e,0x6,0x18,0x7,0x40,0x4d,0xf9,0x76,0xc3,0xb8,0xa5,0xf,0x56,0xad,0x68,0xd0,0xd1,0xb6,0x1d,0x3d,0x16,0xa,0x6,0xd0,0x23,0xe6,0x32,0x73,0x9a,0x58,0x8b,0x38,0xa9,0x87,0x6f,0x48,0x33,0xb0,0xab,0x99,0x81,0xdd,0xf,0x64,0x6,0xee,0xd1,0xf5,0xc1,0x4e,0xa,0x67,0x7c,0xa9,0xb9,0xa6,0x6e,0xec,0xb0,0xe,0x77,0x51,0xa8,0xd3,0x62,0x4,0xf4,0xb9,0x52,0x1e,0xbe,0x63,0x99,0x30,0xd2,0xca,0xbd,0xa6,0x4a,0xaf,0x9,0x4e,0x8a,0xac,0x80,0x71,0x0,0xd4,0xec,0xeb,0x9f,0x69,0xbf,0x7b,0x60,0x55,0xfb,0x0,0xf0,0x23,0x66,0xc9,0xae,0x28,0xb2,0x4,0x2a,0x20,0xed,0x49,0xc,0xdf,0x83,0xc6,0x10,0x7d,0xb,0xa4,0xee,0x67,0x8e,0x20,0x6,0xd6,0x81,0x36,0x78,0xbc,0x27,0x30,0x15,0xb1,0x1e,0xb6,0xae,0x73,0x4e,0x3f,0xdb,0x10,0x9c,0xd0,0x95,0x51,0x6,0xcb,0xf9,0x8b,0xf2,0xf1,0xfc,0x0,0xd5,0x1,0xd4,0x6c,0x22,0xa6,0x18,0x18,0x71,0x6d,0x16,0xac,0xea,0x71,0xea,0xfa,0x20,0xd3,0x86,0x2f,0x5b,0xc7,0x70,0x20,0x97,0x33,0x40,0xf,0x2c,0x4f,0xf7,0x56,0xe6,0xfe,0xd5,0x7f,0xff,0x70,0xae,0xe0,0x40,0x81,0x2,0x5,0x7a,0x4f,0xf2,0x78,0x8e,0x6b,0x60,0xa8,0x3c,0xae,0x2e,0xf8,0xf5,0x26,0x89,0x15,0xf6,0x41,0x61,0x3a,0x78,0x46,0xcf,0xe3,0x67,0x99,0x35,0xc3,0x4b,0xbf,0x8,0x13,0xfe,0x4e,0x8b,0xe5,0x2e,0x8e,0xd5,0xe2,0x41,0x33,0x2d,0x34,0xd5,0x19,0xe3,0xb7,0xe2,0x57,0x42,0x88,0xaf,0xc4,0x9f,0x73,0x6f,0xfb,0x6b,0xf1,0x8d,0xf8,0x75,0xce,0xdf,0x74,0xf0,0xec,0xdf,0x85,0x10,0x7f,0xaf,0x2c,0xa3,0x8e,0x4,0x86,0x92,0x76,0x93,0x1,0xca,0x51,0x67,0x27,0xa5,0xb9,0x4,0x83,0xf6,0x60,0xd2,0xfa,0xd9,0xaf,0x27,0x4b,0xdf,0x7a,0xec,0x80,0x1a,0x17,0x44,0xc4,0xdc,0x5a,0x63,0xbc,0xe0,0xcc,0x88,0xe0,0xf7,0xf5,0xdd,0xe2,0xe,0x88,0x1c,0xd0,0x54,0xdf,0x1b,0xee,0xc2,0x39,0x20,0xb7,0xb3,0x50,0x87,0xb4,0x81,0x11,0x2d,0x7b,0x57,0x15,0x92,0x8b,0x66,0x96,0xa1,0xa9,0xbf,0x12,0x42,0xfc,0x5c,0xfc,0xec,0xd9,0xff,0x48,0xe4,0xee,0x97,0xcf,0x7e,0x99,0xfe,0xaf,0x58,0xe4,0x3f,0x32,0x1c,0xf1,0xd9,0x5f,0x9e,0xfd,0xe2,0xd9,0x2f,0x9e,0xfd,0xc5,0x33,0xd2,0xbf,0x9,0x21,0xbe,0x13,0x82,0x9a,0xf8,0x5e,0x8,0xf1,0x35,0xb,0xc9,0x67,0xf1,0xa3,0xcb,0xc9,0xa5,0xa8,0xb3,0x93,0xfe,0x5c,0x88,0x41,0x7b,0x91,0x6d,0x9d,0x1,0xf4,0x64,0x69,0x9f,0x9a,0x97,0xe5,0xca,0x19,0x41,0xcc,0x1c,0x3,0x57,0xf4,0x6c,0x70,0x44,0xbb,0xe2,0xb9,0xea,0x79,0x51,0xe0,0x2b,0x70,0x19,0xc0,0x49,0xab,0xb6,0x5b,0xb4,0x80,0xf1,0x9b,0x31,0x64,0xc4,0xf8,0x68,0xa6,0xad,0x28,0xdf,0x31,0xd2,0xd5,0x5c,0xfb,0x73,0x41,0xd6,0xc3,0x52,0xf2,0xac,0x3c,0x97,0x6e,0xba,0x3,0x69,0x90,0xba,0x99,0xd3,0x9e,0xe4,0x6d,0x37,0x19,0xdb,0x4c,0x7f,0x36,0xd3,0x9d,0xed,0x64,0x68,0xfb,0xf3,0x4,0x27,0xba,0xb1,0xa6,0xf7,0xf6,0x32,0x40,0x4,0xac,0xa5,0xd9,0x72,0x5a,0x7b,0xb2,0x8,0xbb,0x36,0x80,0x62,0x59,0x1f,0x7b,0x4c,0x32,0xa9,0x67,0x21,0xbc,0xf,0xfd,0x9d,0x25,0xe6,0xa5,0x5f,0x71,0x4c,0xb4,0x8e,0x21,0x31,0xd7,0xa,0x50,0x73,0x16,0xd0,0x5d,0x42,0xe3,0x73,0x3b,0x45,0x60,0xfc,0x9f,0xb,0x18,0x60,0x82,0x88,0x11,0x93,0x5c,0x3,0xbb,0x9,0x48,0xce,0x88,0xe8,0x23,0x18,0x9e,0xca,0xed,0x71,0x55,0x0,0x83,0xee,0x66,0xde,0x3e,0xe9,0x71,0x5c,0x87,0xd4,0x99,0x21,0xdb,0x57,0xd9,0x34,0xf2,0x78,0x52,0x37,0x51,0x4b,0x39,0x77,0x5c,0x96,0xa8,0xd1,0x24,0x4e,0xbc,0x73,0xb9,0x48,0x9c,0xdb,0x72,0x45,0x1f,0x18,0x71,0x65,0xa,0x7c,0xd6,0xb4,0xa4,0xb1,0x8a,0x68,0x9d,0xa4,0x56,0xde,0x2,0x16,0x7b,0x24,0x69,0x98,0x2e,0x6c,0xfb,0x73,0x51,0x6f,0xde,0x2,0x2f,0x93,0xf3,0x9f,0xe,0xf0,0x1a,0x78,0x6b,0x2f,0x80,0x6f,0x3a,0x6c,0xce,0x2e,0x11,0x43,0xc5,0x62,0x49,0xea,0xa3,0x2f,0x84,0x48,0x27,0xd3,0x7d,0x64,0xd6,0x88,0xb9,0x36,0x77,0xb6,0xa9,0xc5,0x52,0xe7,0x4a,0x2e,0x64,0x81,0xa3,0x98,0x2e,0xf0,0x92,0x49,0x26,0xd2,0x30,0x2d,0x29,0x7b,0x28,0x44,0xe2,0xbc,0xd8,0x9c,0xb9,0x70,0x52,0xa,0x44,0xc4,0xca,0x99,0x53,0x11,0xad,0xa3,0xc6,0xb2,0xe6,0x4,0x6e,0xf8,0x31,0x89,0x5c,0x6,0x78,0xc1,0x20,0xc1,0x17,0xfc,0x9f,0xb,0x19,0x60,0x47,0xa,0xff,0x3d,0xb9,0x9,0x47,0xc0,0x4b,0x9b,0x1,0xdc,0x2f,0xef,0x72,0x76,0x89,0x18,0x2a,0x16,0x4b,0x9e,0x2f,0x65,0x8b,0xbc,0x5,0x22,0xda,0x59,0x11,0x4,0xc9,0x0,0x3,0xe0,0x48,0x39,0x75,0x5b,0x39,0x39,0x79,0x6,0x54,0xc4,0xb6,0xe3,0x9,0x1f,0x0,0x6b,0xba,0xdb,0xd7,0xe3,0x87,0xcf,0xc1,0xe6,0xf4,0x85,0x53,0xdf,0xf3,0x65,0xbe,0x6b,0xab,0x12,0x5a,0xe7,0x2c,0x60,0x9,0x3,0x44,0x90,0xa4,0xd6,0xf9,0x3f,0x7b,0x66,0x73,0x4e,0xf7,0xb3,0x42,0xb2,0x8d,0x98,0x93,0xbf,0x37,0x6c,0x6,0x70,0xbf,0xbc,0xcb,0xd9,0x25,0x62,0xa8,0x58,0x2c,0x49,0x84,0x6a,0x2b,0x5f,0x2,0x70,0x6b,0xa5,0x9f,0x27,0xd3,0xbf,0xc8,0x8d,0x16,0x8b,0x30,0x2,0x16,0x98,0xd6,0xb,0x28,0x78,0x81,0xce,0x75,0x5a,0xc0,0xc8,0x2e,0x45,0x31,0x3e,0xa8,0xea,0x67,0x64,0xcd,0xad,0x5c,0x5,0xad,0xf3,0xa3,0x7e,0xf5,0x31,0x18,0x60,0x60,0x31,0xd9,0xa0,0x28,0x5,0x85,0xbe,0x9e,0xfb,0x28,0x1d,0xe5,0x6f,0x95,0x1d,0x84,0xa7,0x46,0x50,0x25,0x44,0xb9,0x44,0xc,0x15,0x8b,0x25,0xa9,0xbd,0xeb,0xbb,0xd2,0x66,0x80,0x3a,0x1d,0xfa,0x1a,0xe7,0x26,0xc,0x30,0xa7,0x2f,0x37,0x23,0x60,0x9e,0x55,0x57,0xce,0x98,0xe1,0x22,0x42,0x30,0xcb,0x43,0x16,0x99,0x44,0x1f,0x78,0x6e,0x7c,0xbf,0xca,0x12,0xa0,0x58,0x75,0xac,0x84,0xd6,0xb9,0xb3,0x3b,0x28,0xce,0x24,0x76,0x18,0x60,0x93,0x2e,0x10,0x29,0xcd,0xc3,0xfa,0x6c,0xf5,0xde,0xa0,0x3d,0x66,0x71,0x1b,0xcf,0x97,0xf7,0x73,0x76,0x81,0x18,0x2a,0x16,0x4b,0x42,0x50,0x93,0x9,0xe2,0x9d,0x5c,0x1d,0x60,0x9e,0x88,0xae,0xae,0xca,0x25,0x42,0x5b,0x7b,0xaa,0xb,0x37,0xbd,0x51,0xe3,0xd4,0x7d,0xed,0x6e,0xd3,0xd4,0x35,0x29,0x71,0xe8,0x2c,0x8a,0x8b,0xc4,0xb9,0x2d,0x7e,0x9,0x60,0x6,0xb5,0x57,0x41,0xeb,0x5c,0x6,0x70,0x16,0xf0,0x23,0x23,0xc,0x9e,0x2f,0x7f,0xe4,0x3d,0x47,0xb,0xc4,0x50,0xb1,0x58,0x2a,0x31,0x56,0xd2,0x29,0x7a,0x61,0xc2,0xce,0xcc,0xd1,0x7,0xba,0xac,0xab,0xc9,0x6d,0x32,0x22,0xe2,0x58,0x3,0x35,0xaf,0x18,0x0,0x7d,0xe,0xb5,0xb6,0x6,0x31,0x11,0xaf,0x35,0x25,0xf7,0x90,0x3e,0x30,0x50,0x8b,0xe2,0x20,0x71,0x9e,0x96,0xa,0xc,0xf0,0x53,0x71,0x67,0xba,0x5f,0xde,0xe5,0xec,0x12,0x31,0x54,0x2c,0x96,0xca,0xc5,0x5c,0xa0,0x27,0x58,0xe7,0xb6,0x74,0xce,0x3d,0x70,0x64,0xd7,0x1c,0xb,0xf4,0x29,0x2d,0x94,0x45,0x45,0xdb,0xc7,0x5f,0x81,0x4d,0x8,0x66,0xb9,0x64,0xc4,0x88,0xcb,0x2c,0x66,0xc1,0x18,0xb4,0xef,0xd8,0x2,0x81,0xde,0xdb,0xf2,0x79,0x32,0x27,0x72,0xb2,0x2c,0xda,0x44,0x40,0xcc,0x3d,0xaf,0xfd,0x55,0xc9,0x4a,0x19,0xc0,0x5f,0x81,0xad,0x41,0x8f,0x5d,0x6a,0xd4,0xd8,0xa5,0xa7,0xfc,0x21,0x89,0xae,0x35,0xc1,0x32,0xf7,0x66,0x68,0xec,0xa7,0x37,0x89,0x8b,0xb4,0xe4,0x9,0x7c,0xaf,0x47,0xf3,0xc8,0xbf,0x7a,0x6b,0x14,0xfa,0x5,0x1c,0xf7,0x5a,0x70,0xd9,0xb2,0x56,0xf6,0xe5,0x4c,0x33,0x2f,0xcf,0x5c,0x4f,0x9e,0xf3,0xbb,0x67,0x47,0x9,0xc1,0x1a,0x6d,0xa0,0xab,0xd7,0xf7,0xcd,0xc9,0x9c,0xc8,0xcf,0xb2,0x48,0xe9,0xa4,0xd8,0x71,0x9d,0xfb,0x64,0xbe,0xa,0x6c,0xa7,0xec,0xb1,0x4c,0x1b,0x68,0xb2,0x67,0x7a,0x57,0x25,0x33,0xea,0xa6,0x22,0xcb,0x3c,0x0,0xf,0x89,0x7f,0x8b,0xcd,0x4c,0x15,0x33,0x1e,0x60,0xc1,0xcb,0x97,0xc7,0x44,0x8c,0x52,0x6c,0xda,0x5e,0x2e,0xea,0xc0,0x40,0x69,0xf6,0x35,0xba,0x59,0x9d,0xa0,0x6c,0x91,0x3d,0xfd,0x5a,0x34,0x41,0x8,0xb6,0x20,0xcd,0xb9,0xd3,0xfe,0xea,0xad,0x51,0xe8,0x17,0x70,0xec,0x66,0xc8,0x39,0xa7,0xd9,0x68,0xd4,0x78,0x48,0x46,0x60,0x3b,0xcd,0x73,0x28,0xd8,0x67,0xde,0x1d,0xa5,0xa9,0xbe,0x43,0xe7,0x39,0xec,0xcc,0x89,0xdc,0x2c,0xb,0x21,0x98,0x64,0xdd,0x2d,0x6,0x5b,0x99,0x1,0x7c,0x15,0xd8,0x6,0xcc,0xd0,0x6,0x16,0x98,0x62,0xa6,0x38,0x65,0x45,0xc8,0x80,0xae,0x95,0xc4,0xba,0x66,0x9a,0x41,0xb6,0x64,0x1e,0x18,0xc6,0x66,0x80,0x6,0x33,0x40,0x5f,0xc2,0xb0,0xd6,0x72,0xb1,0x6a,0x38,0x69,0x13,0x73,0x6c,0xd5,0x5c,0xe4,0xdc,0x65,0x86,0x9,0x3a,0xee,0xfe,0xcf,0xad,0x45,0xe8,0x15,0x70,0x4c,0x13,0x33,0x60,0x52,0x8,0x26,0x19,0x12,0x67,0x0,0x11,0xf3,0x44,0x8c,0xd8,0x22,0x32,0x22,0x7a,0xfd,0xc,0x70,0x2a,0x7d,0xa3,0x43,0x5e,0x67,0x3b,0x4a,0x9a,0xcb,0xeb,0x9e,0xec,0x7,0x37,0x73,0x22,0x37,0xcb,0xe2,0x5d,0x19,0xc0,0x5f,0x81,0xcd,0xf4,0xea,0x38,0xdf,0x67,0x51,0x8f,0x85,0x14,0x7a,0x7d,0x4a,0x9a,0xe0,0x2d,0xf6,0xbe,0x1,0x89,0x93,0xc3,0x6a,0x6f,0xa4,0x49,0x5b,0xbe,0xe5,0x4a,0x72,0x7,0x88,0x59,0x10,0x82,0x59,0x19,0x2f,0xbf,0x63,0x3d,0x68,0xde,0x32,0xc3,0xb6,0x5d,0x36,0x59,0x89,0x2f,0x6f,0x29,0xc4,0x94,0x31,0x4d,0x1,0xc7,0x65,0xf2,0x8d,0xd8,0xb2,0xa1,0x28,0xe5,0x34,0xde,0x2e,0x55,0xc0,0x6,0xcc,0x48,0xcf,0x64,0x9c,0xed,0x28,0x19,0x99,0x3,0xed,0xcc,0x81,0x95,0x97,0x39,0x51,0x90,0x65,0xe1,0xf1,0x63,0xe4,0x31,0x80,0xbf,0xd4,0x9b,0xa7,0x2,0x5b,0x26,0x1,0xea,0xb6,0x4,0x60,0x52,0x1e,0x5c,0xa7,0x1e,0x9,0x90,0x2b,0xfe,0x27,0xe8,0x10,0x2b,0x5f,0xb2,0xfe,0x65,0x66,0xa8,0x27,0xde,0x72,0xdf,0x72,0x71,0x0,0x5c,0x26,0x70,0xa,0x97,0xf2,0xf7,0x3,0x8b,0x1,0xbc,0xcb,0x2c,0x3,0x36,0x3b,0xa,0x96,0x3a,0x30,0xc6,0xf4,0x96,0x42,0xcc,0x9e,0xcc,0x78,0xc2,0xcd,0xc4,0x15,0x4a,0x2b,0xf1,0x7,0x1a,0xf7,0x78,0xb0,0x5d,0xa3,0x79,0xa,0x98,0xfa,0xcb,0x5b,0x6d,0x47,0x6d,0x3,0x43,0x60,0x8f,0xae,0xe3,0x9b,0xb4,0x32,0x27,0xf2,0xb3,0x2c,0x0,0x18,0x79,0xde,0x12,0x50,0xa9,0xaa,0x5a,0xce,0xb5,0x89,0xe,0xd0,0x5,0xae,0x4d,0x1d,0x20,0xf3,0xef,0x68,0xc,0xa3,0x74,0x80,0xd,0x6,0xc,0xd8,0xd0,0x35,0x2,0x79,0xc5,0xab,0x44,0x49,0xf1,0x30,0x40,0xb,0x18,0xb2,0xc7,0x84,0x5c,0xae,0x5d,0x2b,0xec,0x3,0x96,0xe9,0x3,0x7b,0x40,0x9f,0x25,0xa7,0x58,0xa4,0xb7,0x9f,0x9a,0xde,0x6d,0x21,0x58,0x4e,0x59,0x4c,0xc3,0xfb,0x7d,0x35,0xa,0x73,0x4,0x9c,0x14,0xfd,0x4b,0xc4,0x44,0x96,0xda,0xf8,0xd2,0x2f,0x1,0x3c,0x23,0xa6,0x12,0x60,0x93,0x33,0x6d,0x47,0x75,0x81,0x19,0xae,0x89,0xe9,0x69,0x81,0x25,0xfe,0xcc,0x89,0x82,0x2c,0xb,0x76,0x81,0x2b,0xa7,0xea,0x47,0xa5,0xaa,0x6a,0x79,0x0,0xb2,0xd7,0xa,0xe8,0x10,0x4b,0x35,0xf9,0x20,0xcb,0x58,0xd0,0xbb,0x35,0x81,0x4d,0x5d,0x23,0x50,0xe7,0xe8,0xd0,0x17,0xd1,0xef,0x2e,0x17,0x8d,0x4,0x15,0xd4,0xfc,0x74,0xd0,0x50,0xf5,0xae,0x77,0x69,0x78,0xc5,0xb0,0xd3,0x4f,0xc6,0xf6,0x77,0x98,0x10,0x82,0x1a,0x37,0x8c,0x52,0x4,0x2e,0xbf,0x16,0x61,0xae,0x80,0x4b,0x4,0x75,0xc7,0x7e,0x11,0x3,0x8b,0xc4,0x44,0x6c,0x56,0xd7,0x1,0x64,0xe,0xe4,0xb1,0xb1,0xa3,0x96,0xa9,0xd3,0xf3,0x67,0xdc,0x18,0x99,0x13,0x85,0x59,0x16,0xec,0x42,0x6,0x85,0xe7,0x3a,0xd2,0x72,0x4b,0xbd,0x79,0xae,0xf5,0x5a,0x2d,0xc5,0xa6,0x97,0x14,0xff,0x6e,0xc5,0x6a,0x1d,0x4f,0xf7,0x33,0x40,0xba,0x5c,0x34,0x13,0xb5,0xcf,0x30,0xc2,0x1a,0x4c,0x31,0x4c,0x92,0x33,0x68,0x98,0x22,0x37,0xaf,0x9f,0x9c,0x92,0xe7,0x92,0x2d,0x2f,0x34,0xbd,0x3b,0xb7,0x16,0x61,0xae,0x80,0x93,0x31,0x3c,0x59,0x9d,0x4d,0x69,0x5,0x74,0x24,0x44,0xf4,0x68,0x2b,0xc0,0x50,0x8b,0xdb,0xee,0x8,0x7a,0xe6,0x44,0x69,0x96,0xc5,0x91,0xc9,0xb4,0x4f,0x6f,0x79,0x2b,0xed,0xdf,0x96,0x0,0xcc,0x11,0x27,0x7b,0x31,0x2f,0xb7,0x27,0x5b,0x2e,0xe7,0xec,0xec,0x2,0x35,0x19,0x71,0xb0,0x2b,0x47,0xe8,0x56,0xe8,0x37,0x49,0x5f,0x59,0xec,0xb1,0xf1,0x97,0xfc,0x52,0x88,0x5,0x2,0x8e,0x3b,0x27,0x4d,0x4d,0xb7,0xfd,0xcf,0x1f,0xe7,0x7,0x60,0x8e,0x2b,0x62,0x22,0x2e,0xd8,0xf7,0xeb,0x4e,0x9f,0x93,0xff,0x4a,0x69,0xff,0xa6,0x57,0x40,0x9e,0xf2,0x9b,0x79,0x30,0xb1,0xbd,0x5c,0xd6,0xb4,0xc5,0x1e,0x3c,0x20,0x2e,0xef,0x17,0x28,0x50,0x20,0xdd,0x6,0x7b,0xcd,0x83,0xee,0x6c,0x52,0xed,0xf5,0x2,0x45,0x70,0x9f,0x88,0xc8,0x0,0xc9,0xeb,0x5c,0x12,0x11,0x3b,0x31,0x81,0x81,0x3e,0xc8,0xb2,0x4d,0x39,0x7,0x5b,0x8d,0xb,0x46,0x6,0xea,0x3a,0xcd,0x39,0x11,0x23,0xde,0x2a,0xff,0xa8,0x6b,0x82,0x4e,0xa4,0x99,0xc5,0xda,0xc2,0x27,0x31,0x9c,0xb7,0x46,0x94,0xb6,0xfd,0xa6,0xb3,0x94,0xb2,0xd0,0xfd,0x8b,0xfc,0xc0,0xdc,0xcf,0x0,0x1f,0x2b,0xfb,0x8b,0x54,0xb2,0x62,0x6e,0x94,0x8e,0xb0,0xc9,0xd,0x31,0x11,0x97,0x5,0xd3,0xeb,0x4b,0x58,0xb5,0x6b,0x17,0x4e,0xb0,0x6f,0xc5,0x13,0x78,0xa2,0x10,0x9c,0x60,0x91,0x45,0xe7,0x5e,0x27,0xb6,0xd3,0x87,0xa6,0x9d,0x69,0xe0,0x9a,0xb8,0xd2,0x42,0x58,0xd4,0xc0,0xa2,0x7d,0xe9,0x5e,0x33,0x82,0x57,0xac,0x7b,0xdd,0x0,0xcf,0xd9,0x2,0x6e,0x55,0xbf,0x28,0xf1,0xc3,0xda,0xe1,0xf2,0xfa,0x24,0xbe,0xd6,0x74,0xec,0x2b,0xa5,0x15,0x6c,0x38,0xc1,0xd9,0xbb,0x56,0xdc,0x7a,0x24,0xc3,0xb3,0xcf,0x35,0x15,0x69,0x26,0xf1,0xc9,0x1b,0x55,0x29,0x66,0x69,0x12,0x1,0x1d,0xf5,0xe8,0x39,0xaf,0x6d,0x72,0x3d,0x66,0xa5,0xc,0x70,0xef,0x4,0xb1,0x64,0x5a,0xfa,0x55,0x75,0x6,0xd0,0x5e,0x96,0x97,0xf6,0xda,0x2b,0xe8,0xb5,0x9f,0xcb,0x0,0x3b,0x26,0x46,0x20,0x9d,0x41,0xb,0xba,0xeb,0x98,0x18,0x98,0xd7,0x33,0xd,0x64,0xfb,0x8b,0x2c,0x79,0x83,0x3b,0x60,0x0,0x5c,0x1b,0xf5,0x3e,0xb6,0xe9,0x11,0x27,0x2e,0x78,0xef,0xb7,0x88,0x80,0x1a,0x35,0xdd,0xc5,0x9c,0x3b,0x8b,0x6a,0xc2,0x9f,0xeb,0xba,0x2c,0xf3,0xc4,0x74,0x98,0x4c,0xbd,0x80,0xae,0x78,0xf1,0x1b,0x60,0x86,0x59,0x79,0xc9,0x96,0xe6,0xf6,0x68,0xa8,0x97,0x50,0x65,0x93,0xeb,0x7b,0x6d,0xd3,0xe3,0x18,0x60,0x95,0x7d,0x6a,0xcc,0x6b,0x31,0x84,0x4b,0x2c,0x33,0xc1,0x5a,0xb5,0x2a,0x40,0x86,0x3a,0x6c,0xd6,0x2e,0xec,0x3a,0x31,0x85,0xde,0x48,0x44,0x6b,0x9c,0x13,0xf9,0xba,0xcd,0x53,0x65,0x20,0x26,0xcb,0xad,0xbf,0xf2,0xa2,0xd,0xec,0xb0,0x66,0x85,0x9e,0xcf,0xe8,0x69,0x6d,0x89,0x3f,0xd1,0x61,0xe3,0xb,0xbd,0xba,0x91,0xe7,0x8,0x28,0x88,0xf3,0xcc,0x99,0x44,0x56,0x88,0xb9,0x31,0x30,0xb9,0x63,0x60,0x8f,0x5d,0xab,0xf4,0xdb,0x12,0xb1,0xe5,0xee,0x49,0x6f,0xb6,0xa6,0xc5,0xbe,0xfb,0x1c,0xaa,0xa7,0xc0,0x15,0xd,0x21,0x98,0x57,0x93,0xeb,0x7b,0x6d,0xd3,0xa3,0x18,0x40,0x13,0xbc,0x4d,0x87,0x35,0x6f,0x8b,0x18,0xc0,0x62,0x67,0xa7,0x76,0x61,0xb5,0x88,0x61,0x6a,0xd6,0x12,0x74,0xec,0x14,0x35,0xdd,0x6f,0xa0,0xe,0x9b,0x38,0x43,0x4b,0xc,0x13,0x75,0xde,0xc2,0x16,0x16,0x34,0xc6,0xee,0x1,0x5d,0xb6,0xad,0x40,0x58,0xf3,0xee,0x8e,0x4,0x28,0x61,0x0,0x3b,0x2e,0x5f,0x7e,0xa5,0x1e,0x23,0xa2,0x2c,0x13,0x4f,0x8,0xa6,0xe8,0xd2,0x75,0xc3,0x3f,0x15,0xed,0x14,0x30,0x80,0x42,0xc4,0xc,0x13,0xd2,0xa9,0x2f,0xf6,0x78,0x6,0x60,0x91,0xbe,0x9d,0x5d,0x0,0xa0,0xa2,0xa,0xb,0x8e,0x80,0x2,0x99,0xe0,0xe6,0x15,0xf8,0xa,0x57,0x9d,0x3a,0xbe,0xc6,0x49,0xe6,0x78,0xad,0x6d,0x8a,0x24,0xed,0x3b,0xb2,0xe,0xa9,0x23,0x2e,0x8c,0x93,0x7a,0x9a,0x91,0x9e,0x7b,0x48,0x7,0x58,0x35,0x42,0xf4,0x8f,0xa4,0x6,0x60,0xbc,0x46,0xca,0x7a,0xe6,0x5b,0x5b,0x7,0x60,0xc2,0x3e,0x92,0x4c,0x6,0xb8,0x77,0x4b,0xba,0x7a,0x15,0xa4,0x53,0x89,0xed,0xe5,0x31,0x40,0xf6,0x32,0x96,0x11,0x31,0x53,0xc4,0x8c,0x54,0x62,0x87,0x1f,0x1b,0x73,0x5f,0xdb,0x24,0xbd,0x76,0xe3,0x32,0x0,0x9b,0x44,0xdc,0x98,0x4e,0x20,0x9,0xb5,0x76,0x8b,0x18,0xc0,0x1a,0xd1,0x95,0x0,0xa7,0x5,0x3a,0xc0,0xa9,0xa6,0x98,0xbd,0x31,0x54,0xc2,0x25,0xa6,0x3c,0x89,0x25,0xf3,0x5c,0x5a,0xca,0x5b,0xc3,0xcc,0x80,0x64,0xd7,0x2a,0x71,0x75,0x60,0x87,0x8c,0xd0,0xe4,0xce,0xd,0x60,0x75,0xc2,0xf8,0x2d,0x2b,0x40,0xa5,0x88,0xb8,0x73,0x29,0x23,0x70,0x87,0x99,0x3b,0xb3,0x4,0x94,0xcc,0x8b,0x7c,0x5f,0x29,0x39,0x2,0x86,0xa,0x13,0x2f,0xac,0x2f,0x56,0x69,0x99,0x96,0x58,0x94,0xb9,0x83,0xa9,0x88,0x5b,0x27,0xe6,0xc6,0x48,0x60,0x5f,0xa6,0x9e,0xc6,0x24,0x8c,0xa1,0x3,0x5c,0xd9,0xb5,0xb,0x99,0xa6,0x65,0xe5,0x16,0x3a,0x85,0xab,0x88,0x12,0xb4,0x4f,0x3b,0xdc,0xee,0x9d,0xec,0xaa,0x9a,0x72,0x1b,0x4f,0x6b,0xa,0x9e,0xf5,0x9a,0x5a,0x5a,0x56,0xad,0xb5,0x24,0x64,0x77,0xc4,0x99,0xba,0xd7,0xb4,0x9d,0xdc,0xe9,0xdd,0xaa,0x96,0x1f,0x20,0x5,0xa7,0x72,0x18,0xc0,0xab,0x3,0x50,0xf4,0x7a,0x34,0x47,0x25,0x9a,0x60,0xbd,0x84,0x1,0x9a,0x49,0x54,0x8c,0x55,0x62,0xd2,0xad,0x2f,0x86,0x84,0x59,0x7,0x1e,0xe3,0x28,0xed,0xf7,0xd6,0x39,0x61,0xdb,0xce,0x35,0xf,0x3e,0x23,0xab,0x6c,0xea,0x12,0xa5,0xd1,0x97,0x4,0x5e,0xc8,0x48,0x1d,0xbb,0xe2,0x21,0x4d,0x69,0x2a,0x1e,0x1b,0xd5,0xcd,0xcc,0x80,0xb5,0xc4,0x99,0x3c,0xa2,0xa5,0x59,0x4f,0xc3,0xc4,0x7d,0xfe,0x11,0xac,0xec,0x4,0xe,0x2a,0xc3,0xa4,0xfc,0x3e,0x73,0x87,0xdb,0x9b,0xc0,0x56,0x1a,0x8c,0xa1,0xc4,0x5f,0xe4,0x4c,0xb7,0xaf,0xbe,0x58,0x95,0x65,0x3a,0x94,0x61,0xeb,0x17,0x5,0x36,0xfe,0x1b,0x79,0x4d,0x53,0xbf,0xa6,0xc2,0xde,0x79,0x4e,0x1b,0x18,0x64,0x45,0x58,0x2a,0x30,0xc0,0x3c,0x57,0x8c,0x80,0x76,0x56,0xd1,0xf8,0x33,0x74,0xb3,0xf0,0xca,0xd4,0xf8,0x2b,0x32,0xc0,0x83,0x34,0x55,0xda,0x1c,0x2a,0x31,0xd5,0x3,0x69,0xf6,0xcd,0x18,0x4a,0x5a,0x9a,0x37,0xd3,0xd4,0x76,0x69,0xdf,0x8d,0xee,0xb,0x9e,0xc4,0x40,0x81,0x52,0x9d,0xc4,0xaa,0x53,0x50,0xa5,0xce,0xb8,0x2,0xf5,0x86,0xe9,0x6b,0x68,0x9d,0x84,0xfe,0x9f,0x62,0x8e,0xd3,0x27,0xbd,0x90,0x17,0xb2,0x42,0xc2,0x73,0x4d,0x6f,0x71,0xea,0x30,0x28,0xff,0x40,0xe6,0xf7,0x73,0xb,0x4c,0x54,0xa8,0x33,0xae,0x69,0x25,0xfb,0x96,0x8e,0xf4,0xf0,0x99,0x32,0x80,0xe5,0x68,0xed,0x24,0x16,0x5,0x6b,0x32,0x70,0x6c,0x56,0x73,0xb0,0xbe,0xa5,0x27,0x5f,0xcf,0x70,0xca,0x10,0xb8,0x51,0x71,0xf8,0x8b,0x3c,0x10,0x33,0xe2,0x84,0x5d,0x46,0x59,0x30,0x27,0x9b,0xc9,0x6f,0xe9,0x4f,0xe9,0xb6,0xbe,0x67,0xd7,0xf2,0x8c,0xf4,0x34,0xc7,0x75,0x57,0xed,0xb4,0x33,0x65,0xd0,0x2e,0x6b,0xea,0xdd,0xa6,0xfe,0x53,0x7a,0x50,0x22,0x56,0x88,0xe8,0xaa,0x92,0x6e,0x4e,0x1d,0x6,0x21,0xd8,0x90,0x7a,0xd1,0xb6,0xa1,0x62,0x2f,0x17,0x56,0x19,0xf6,0x31,0x40,0xc,0x6c,0xb2,0xa1,0xb2,0x22,0x3c,0x65,0x29,0x32,0x87,0xcf,0x91,0xd4,0xba,0xaf,0xc6,0x30,0xc4,0xea,0x9c,0x33,0x4,0x7a,0x2a,0xee,0xbe,0x4d,0x2c,0x9d,0x9f,0xd3,0xca,0x1d,0x61,0xd4,0xf0,0x62,0x96,0xd7,0xf4,0xed,0x52,0x4d,0x79,0xa,0x96,0xb5,0xe4,0xe6,0xa7,0x83,0xc4,0x5a,0xe6,0x28,0x99,0x3c,0x5e,0x79,0x6b,0x7b,0xd8,0x9a,0xf9,0xa2,0xd5,0xde,0x52,0xe2,0xf1,0x5a,0xff,0xa9,0x1c,0xe3,0x10,0x73,0xc9,0x86,0x12,0xb5,0x17,0x49,0x79,0x8,0x76,0x34,0x75,0xf7,0x14,0xe8,0xcb,0x7f,0x59,0xc0,0xf8,0x75,0x62,0xd7,0xa4,0x3f,0x25,0xab,0x24,0x21,0x2b,0x19,0x9b,0xb8,0x75,0x18,0x12,0xe3,0xf1,0x3a,0x75,0x5d,0x3d,0xbe,0x96,0x81,0x2,0x9a,0xee,0x94,0x67,0xc0,0x29,0x4b,0x51,0xc5,0xd1,0x61,0x3a,0x12,0x23,0x4d,0xa3,0xbe,0x2a,0x80,0x5a,0x2e,0x8b,0xbd,0x8,0x8f,0x61,0x0,0xeb,0x99,0x67,0x65,0xfd,0xab,0x4e,0x92,0x95,0xc0,0x4d,0xe6,0x65,0x94,0x7b,0x66,0x15,0x88,0xa8,0xb1,0xaa,0xed,0x9d,0x49,0x66,0x14,0x1b,0x2c,0x68,0xdf,0x6e,0x47,0xca,0x91,0x1d,0xa3,0xac,0xf4,0x2,0xc7,0x32,0xf5,0x63,0xa0,0xb9,0x57,0x5a,0xd2,0x8,0xdd,0x36,0xa4,0xd1,0x9a,0x1e,0xeb,0xc4,0xb6,0x96,0x74,0xa2,0x87,0xc1,0x5f,0xea,0x75,0xcb,0x73,0x3d,0x93,0xfb,0x25,0x8e,0x68,0x57,0x2,0x38,0x65,0x29,0x92,0xfa,0xe4,0xac,0x17,0x97,0xa5,0xd0,0xfd,0xc6,0xcb,0x9e,0xe5,0x3a,0xcb,0x2,0xa9,0xb5,0x27,0x7d,0xab,0x7b,0xb1,0x84,0x60,0xd6,0xac,0xb7,0xcf,0xa2,0xeb,0xd,0x50,0x23,0xde,0xe9,0x8f,0x54,0xd5,0xc4,0xca,0x31,0xd6,0xee,0x64,0xe8,0x5a,0x4b,0x4e,0xff,0x5d,0xde,0x94,0x69,0x63,0xaf,0x73,0x2f,0xfd,0x8e,0xe6,0xb4,0xd7,0x13,0xf7,0x6c,0xfa,0xd3,0xf0,0x24,0x9e,0x6a,0xd7,0xcd,0x0,0x23,0xea,0x8c,0xf4,0x38,0x7c,0x4f,0x14,0x65,0x3b,0xf9,0x7b,0xfa,0xd3,0xf0,0xfc,0xeb,0x12,0xc0,0xad,0xc3,0x70,0x2d,0x25,0xc0,0x4a,0x1,0x3,0xb8,0xe9,0xfc,0x2d,0x4f,0x14,0x41,0x59,0x82,0x7f,0xb6,0xbd,0x24,0x4a,0x35,0xe5,0x29,0x2f,0x64,0x55,0xe8,0x37,0x16,0xf7,0x16,0xb8,0xf4,0x94,0x75,0x59,0xce,0x67,0x80,0x7c,0x23,0x4f,0x7b,0xb0,0x58,0xc3,0xb4,0x6f,0xb,0x18,0x60,0x7,0xe8,0xc9,0xe5,0xe8,0xe9,0x3b,0xad,0x80,0x1,0x86,0xf2,0xc,0xef,0x1,0x2b,0xd4,0x94,0x5e,0xed,0x97,0x0,0xb3,0xb2,0xae,0x80,0x8e,0x71,0xde,0xcb,0xac,0xa4,0x5b,0x4b,0x1f,0x59,0x33,0x60,0x6f,0x8f,0x4,0xa0,0xe6,0xd1,0x1,0x8e,0x3c,0x28,0xea,0x8a,0x64,0x82,0xe7,0xb9,0xc,0xe0,0xa6,0xf3,0xbb,0x65,0x29,0xa6,0xb9,0x23,0x86,0xac,0xd0,0xa6,0x93,0xd0,0xaf,0x31,0xc0,0x95,0x67,0x7a,0xe7,0x88,0xe8,0xda,0x15,0xfa,0x8d,0xc5,0xad,0x73,0x29,0x51,0x84,0xb9,0xaa,0x47,0x40,0x25,0x6,0xe8,0x6a,0x2f,0x8d,0xef,0x16,0x28,0x85,0x89,0x7,0xf1,0x52,0xa,0xd6,0xc8,0x7d,0x9b,0x40,0x51,0x71,0x96,0x34,0x50,0xbd,0x40,0x7,0xd8,0x92,0x29,0x1b,0xe7,0x6,0x93,0xa7,0x6a,0xdb,0x6b,0xe3,0x0,0xad,0xa0,0x3,0x70,0x21,0x41,0xe5,0x17,0x9a,0x15,0xe0,0xd4,0x61,0x70,0xad,0x80,0xa7,0xd0,0xaf,0x13,0x94,0xca,0xac,0xa3,0x77,0x6b,0xbd,0xfe,0xc9,0x59,0x5c,0x29,0x12,0xf,0x35,0xc3,0x42,0x26,0x4a,0x72,0x9a,0xef,0x79,0x2b,0x7f,0x41,0x8d,0xb9,0xef,0xf3,0x94,0x40,0xe9,0xe9,0x4b,0xa,0x4f,0x3d,0xb7,0x0,0xeb,0xb2,0x23,0x20,0xe6,0x86,0x4b,0x46,0xc,0xd5,0x2e,0xf3,0x5b,0x1,0x77,0xfa,0x2b,0x1f,0x34,0xdd,0x3,0x62,0xad,0x78,0xdd,0xb2,0x2,0x69,0xce,0x8a,0xac,0x80,0x4f,0xd9,0xc0,0x6a,0xd0,0x90,0x50,0x8e,0xae,0x14,0x5d,0x78,0x4e,0x61,0x7d,0x71,0x57,0x99,0x4f,0x4b,0x8f,0x15,0x3a,0x5a,0x67,0x2d,0x53,0x2a,0xbb,0x7e,0xda,0xff,0xb2,0xb5,0x1c,0xa8,0x37,0x38,0x2e,0x3e,0x18,0x3,0xbc,0x72,0xc0,0xdc,0x61,0x5,0x33,0xf0,0xc6,0x46,0xb2,0x3c,0xd7,0xa4,0x9e,0x7e,0x6f,0xf4,0x2a,0x2f,0xb4,0x2c,0x5e,0x8f,0x72,0x12,0x5c,0xc2,0x4f,0xc1,0xfe,0x5f,0x8,0x21,0xfe,0x2a,0xfe,0x5b,0x8,0xf1,0x7f,0xe2,0x7,0x55,0x82,0xfc,0xab,0xa,0x3d,0xff,0x24,0xfe,0x4b,0x8,0xf1,0x57,0xf1,0xaf,0xe2,0x9f,0x72,0xaf,0xf9,0x67,0xf1,0x9f,0x42,0x88,0x3f,0xe7,0xbc,0xfd,0xf7,0x1b,0xf1,0xbf,0xef,0xf2,0xe6,0xde,0xcf,0x76,0x31,0x4b,0xde,0x4c,0x52,0xcd,0x10,0xe,0x7b,0xc2,0x2c,0x4d,0x71,0x4,0x59,0x65,0x30,0xa3,0xf8,0x84,0x6b,0xa4,0xd5,0x58,0xd1,0x8a,0x3d,0xe2,0xcd,0x9f,0x1f,0x72,0xcf,0x12,0x5b,0x4a,0xab,0xde,0xa1,0xb,0x74,0x35,0x9d,0xfe,0x5a,0x7b,0x3f,0xf9,0xb5,0x9e,0x18,0xe6,0x48,0x4f,0xfb,0xd,0x2,0x81,0x1,0x1e,0xb9,0xe4,0x46,0xa2,0xb8,0x5e,0x9a,0x42,0x8,0xea,0x2c,0x69,0x16,0x8a,0x2a,0x3e,0xe1,0x65,0x80,0x5d,0x22,0xa5,0xc9,0x78,0xf5,0x10,0x8f,0x93,0x6b,0x24,0x5d,0x47,0x23,0xa5,0xf0,0x65,0xe5,0xee,0xb5,0x42,0xfa,0x55,0x18,0x20,0xd0,0x63,0x19,0xc0,0x48,0x14,0xcf,0x4a,0x53,0x48,0x6d,0xa3,0x67,0xc7,0xc5,0x2a,0x67,0x4b,0x2f,0xfd,0x5f,0xb2,0xca,0x6,0x23,0x85,0x91,0xe9,0x7a,0x48,0x76,0xcd,0x15,0x5b,0x2c,0x71,0xaf,0xbd,0xb6,0xc5,0x96,0x0,0x66,0xb1,0xfc,0x4f,0xe5,0x2d,0xe0,0x8f,0x9c,0xd8,0x33,0x89,0x14,0xdd,0x29,0x23,0x70,0x8f,0xbe,0xe6,0x41,0xa7,0xb8,0xb4,0xa9,0x10,0xec,0xb2,0x2f,0x4,0x7b,0xc6,0x1b,0x44,0xb6,0x12,0x23,0xad,0xc0,0xed,0x39,0xc7,0x3d,0xf0,0x60,0xbc,0x21,0x10,0xff,0x32,0x4a,0xb1,0xab,0x27,0x8a,0xcf,0x18,0xec,0x10,0x3b,0x51,0xb9,0x28,0x87,0xd5,0x4d,0xfa,0xbf,0xb4,0x5e,0x3a,0xdc,0x28,0xcf,0xdb,0x1b,0x6,0xaa,0xb6,0xd6,0xed,0x38,0x2f,0x82,0xf8,0x9,0x2a,0x25,0x8a,0x1,0x8e,0x72,0xb2,0x55,0xa2,0x5c,0x6,0x78,0x4b,0xcc,0x3e,0xb1,0xf6,0x7e,0xce,0x6,0x43,0x60,0xa8,0x25,0x76,0xe3,0x8d,0x6,0x5a,0x35,0xad,0x8,0x2b,0x8c,0x7c,0x8f,0x81,0x56,0xe1,0xc2,0x4c,0x14,0x6f,0x19,0x68,0xf7,0x41,0x12,0x8f,0xe3,0x67,0x9d,0x40,0xe5,0xc,0x30,0x99,0xa5,0x1a,0x32,0x30,0x6b,0xfb,0xb,0xc1,0x4,0x2d,0x48,0xcb,0x98,0x78,0x96,0xb2,0x26,0x33,0x8a,0xb3,0xf7,0xd5,0xdf,0x10,0xb3,0x43,0xcc,0x4d,0xfe,0xdb,0x29,0xdc,0xd3,0xd9,0x3a,0x89,0x9b,0xb4,0x81,0xb6,0x32,0x4e,0xe3,0xa2,0x12,0x15,0x81,0xde,0x89,0x1,0x8a,0x9d,0xb5,0x1c,0xe9,0x18,0x55,0x5,0x6,0x90,0x79,0x3e,0x49,0x6a,0x49,0x6e,0xaf,0x7,0x29,0x1,0x1e,0x72,0x18,0xe0,0x5,0x11,0xb7,0x44,0xfa,0xbb,0x8c,0x2,0x3d,0x5,0x3,0xf4,0x65,0x5d,0xad,0x19,0xed,0x34,0x2f,0x2c,0x60,0x62,0x1f,0x1,0xbc,0xe4,0x8e,0x9a,0x10,0xd4,0xb8,0x53,0x67,0xb6,0x2f,0xb,0x2f,0xd1,0x1,0x16,0x73,0x19,0xe0,0x86,0x49,0x6e,0x2,0x3,0x3c,0x35,0x3,0x1c,0x59,0x40,0xe2,0xf0,0x31,0x4a,0x60,0xa0,0xcf,0x97,0x1,0x26,0x38,0x4e,0x42,0xa9,0xf2,0xb5,0xf3,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0xd0,0x7,0xa0,0xff,0x7,0x50,0x13,0xcb,0x3f,0x44,0x90,0xb7,0x37,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82 -}; - - -static const unsigned char font_mono_png[]={ -0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x8,0x4,0x0,0x0,0x0,0x4e,0xbc,0x7f,0x81,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xc,0x1e,0x0,0x2a,0x22,0x7b,0x10,0x6,0x2d,0x0,0x0,0x18,0xa4,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x3f,0x68,0x6b,0x4b,0x7e,0xc7,0xc7,0xab,0x42,0xf,0x54,0xb8,0x30,0xc1,0xb,0x2a,0x5c,0xf8,0x81,0x2,0x2e,0x1c,0x70,0xc0,0x9,0xa,0xf8,0x81,0x17,0x5c,0xf8,0x81,0xb,0x2f,0x38,0xe0,0x80,0x3,0x2e,0x5c,0xb8,0x70,0xc0,0x1,0x13,0xbc,0xe0,0xe2,0x16,0x2e,0x6e,0xa1,0xc2,0x1,0x2f,0x38,0xe0,0xc2,0xb,0xe,0x68,0xc1,0x1,0x2f,0x68,0x41,0x1,0x6f,0x50,0x82,0x16,0x54,0x28,0xe0,0x80,0xa,0x2f,0xa8,0x50,0xa1,0x80,0x16,0x54,0xa8,0x50,0xa1,0x2c,0x9f,0x14,0xe7,0x9c,0x39,0xf3,0xef,0x1c,0x1d,0xd9,0xf7,0x3e,0xbf,0x77,0xdf,0xfc,0xe0,0xfa,0x5a,0x3f,0xcf,0x39,0x47,0x33,0xf3,0x3b,0x33,0xbf,0xdf,0xf7,0xf7,0x67,0x84,0xf0,0xe4,0x49,0x8,0x21,0xd8,0xe5,0xce,0xe0,0x94,0x68,0x53,0x32,0x78,0x77,0xec,0x4c,0xbf,0xd6,0x75,0xa5,0xd9,0xca,0x7d,0xa7,0xe0,0xda,0xf0,0x37,0x80,0xe,0x9b,0xc6,0xdf,0x37,0x79,0x1,0xc8,0xfe,0x2c,0xda,0xac,0x3a,0x9e,0xa3,0x3d,0x9f,0xae,0xf3,0xbb,0x34,0x83,0x7f,0x29,0xbd,0x78,0x55,0x4f,0xcd,0xab,0x1c,0x2d,0xd4,0xef,0x8f,0xfe,0xbf,0x10,0x42,0xb0,0xcf,0x80,0x1,0xfb,0xda,0x35,0x15,0x1a,0x94,0x79,0xca,0xd0,0x7,0x9b,0x47,0x99,0x21,0xbb,0xc6,0x97,0xec,0x71,0x4b,0x4f,0xef,0x1e,0xbb,0xc,0x29,0x8b,0xd4,0x6b,0x13,0xae,0x34,0x5b,0x39,0xee,0x24,0x84,0x10,0x7c,0xe0,0x4c,0xf9,0xb4,0x4d,0xc7,0xf8,0x7b,0x87,0xed,0xd9,0x9e,0xc5,0x19,0x97,0x4e,0xa1,0x55,0x9e,0xaf,0xe,0x6e,0xda,0x40,0x19,0x77,0x7e,0x55,0x4f,0xed,0xab,0xac,0x16,0xfa,0x53,0x5c,0x2,0x30,0x62,0x95,0x55,0x46,0xda,0x73,0x9f,0x58,0xa3,0x41,0xe5,0x75,0x2,0x50,0x65,0xc3,0x68,0x74,0xcf,0x86,0x10,0x6c,0x70,0x6f,0xf0,0x37,0xa8,0x8a,0xd4,0x6b,0xdd,0x57,0x3a,0x9e,0x60,0xdd,0x49,0x8,0x21,0xe8,0x51,0xd4,0x3e,0x1b,0x53,0xa3,0x7f,0xce,0xf2,0x2c,0x8a,0xf4,0x9c,0xd3,0xab,0x3c,0xdf,0x2d,0x0,0x8e,0x6b,0xf4,0x3b,0xbf,0xaa,0xa7,0xae,0xab,0x8c,0x16,0xfa,0x53,0x5c,0x2,0xd0,0x62,0x95,0x55,0x5a,0x5f,0xde,0x46,0x64,0x2f,0x61,0xa4,0x7f,0xce,0x74,0xd7,0x27,0x73,0x4a,0xac,0x16,0x7c,0x8f,0xc7,0xc4,0x25,0x0,0x5,0x46,0xc,0x28,0x18,0x2d,0xf7,0x40,0xdf,0x16,0x5c,0x3c,0x2e,0x18,0x31,0xe2,0x3c,0xf8,0xf4,0x13,0x75,0x8f,0x64,0x25,0xda,0x7f,0xb3,0xdf,0xce,0xe6,0x29,0xfb,0x33,0xd9,0x39,0x21,0xfd,0xbd,0xf8,0xd5,0x8c,0xc3,0xa3,0x75,0xc7,0xcd,0x11,0xbf,0x12,0x7f,0x37,0xf5,0xaa,0x6,0x13,0x6,0x5c,0x92,0x8b,0xb4,0x2,0x96,0x84,0x10,0x82,0xe5,0x48,0x3f,0x70,0x70,0x14,0x7a,0xd,0x27,0xdb,0x67,0x27,0xfd,0x8d,0xf8,0x83,0xf8,0x5f,0xf1,0x97,0x6,0xf7,0x6f,0xc5,0xef,0xc5,0xcf,0xd3,0x79,0xec,0x88,0x6f,0xc5,0xd7,0xe2,0xcf,0xc5,0xcf,0xe5,0x56,0xca,0x31,0xd7,0xe1,0x6f,0xd7,0x1c,0x29,0x4d,0x1f,0x68,0xf2,0x60,0xc,0x5c,0x6,0xde,0xeb,0x5,0x80,0x3c,0x3d,0x4b,0xaa,0xd3,0xb7,0x80,0x1d,0x5a,0x2c,0x52,0xa4,0x1d,0x75,0xc7,0xe6,0x8,0xc1,0x3c,0x7d,0xf2,0xa9,0x57,0xc1,0x16,0x39,0x8a,0xd4,0x23,0xa1,0xe0,0x96,0x43,0x21,0x84,0xe0,0x44,0x8e,0x8e,0xcd,0x61,0xfa,0x4a,0x92,0xa0,0x5d,0x30,0xfb,0x3a,0xa7,0x8d,0x54,0x95,0x73,0x4e,0xc,0xd5,0x3b,0xcf,0x88,0x55,0xc6,0x5a,0x4f,0x2d,0x1e,0xb5,0x40,0xe1,0x64,0x57,0xce,0x19,0x5,0xfa,0x2c,0xa,0xc1,0x22,0x5d,0xa5,0x61,0xa6,0xdb,0x39,0x1f,0xf1,0x7a,0x1,0xd8,0xb1,0xb5,0x2,0x5a,0x1c,0x28,0x9f,0xe,0xd5,0x35,0xca,0xd5,0x1d,0x47,0x7,0x3,0x21,0xdd,0x49,0xbd,0x2a,0xfa,0x5e,0xcb,0x91,0xbe,0xc0,0x1e,0x8f,0x42,0x8,0x41,0x5d,0xa,0x89,0xcd,0x79,0x27,0x1,0xa0,0xc0,0x98,0x65,0x8a,0x8c,0xd5,0xd7,0x85,0x6d,0xda,0x42,0xd0,0xd4,0x94,0x64,0x8b,0x17,0xcc,0xb5,0x10,0x2c,0xd2,0x57,0x17,0xc4,0x8a,0x10,0x54,0x38,0x99,0xf5,0x76,0xce,0x47,0xbc,0x5e,0x0,0xaa,0xb6,0x69,0xc8,0xa9,0xb1,0x38,0x9e,0x68,0x7f,0xb5,0xba,0xe3,0xec,0xa0,0x60,0x47,0x13,0x7,0xfb,0x2a,0xfb,0x1b,0x16,0x18,0x32,0xcf,0x2,0xc3,0x48,0xb4,0x1d,0x9c,0xf7,0x12,0x80,0xfd,0xe0,0x35,0xa0,0xa1,0x6d,0xbd,0xd7,0x7c,0x10,0x82,0x8b,0x68,0x7d,0x72,0xf3,0x9c,0x23,0xcf,0x3c,0x7d,0xca,0xea,0xfb,0x9f,0xf5,0x76,0xd9,0x1e,0x91,0x4d,0x0,0x28,0xd0,0x53,0xbf,0x81,0xdc,0x79,0x77,0x35,0x7d,0xa3,0x93,0x30,0x28,0xd3,0x36,0x97,0x3e,0xf3,0xd3,0xaf,0x62,0x29,0xb6,0x18,0x78,0xe0,0x88,0x63,0xcd,0xa2,0x37,0x38,0xf6,0x6e,0x9d,0x85,0xf3,0x9,0x4,0xa0,0x1a,0x6c,0x54,0x9c,0x6b,0x96,0x44,0x37,0xb4,0x2e,0x3a,0x69,0xbc,0x4,0xed,0x8b,0x13,0xc6,0xea,0xfe,0x9f,0xf5,0x76,0xd9,0x1e,0x91,0x51,0x0,0xe,0xb9,0x99,0xf5,0x5d,0xc9,0xae,0x5e,0x72,0x13,0xec,0xe0,0x49,0x57,0xb1,0x19,0xea,0x0,0x17,0xea,0xda,0xc6,0x33,0x5b,0xfa,0x6a,0xa7,0x72,0xbe,0x9b,0x15,0xc0,0x12,0xd2,0x3c,0x23,0x29,0x55,0x23,0xb9,0x1a,0x2d,0x29,0xda,0xe6,0x52,0xa,0xcf,0xb9,0x42,0xa,0x72,0x10,0xe9,0xbf,0x33,0xdd,0xce,0xc5,0x7b,0xad,0x0,0x3c,0x39,0x81,0xa1,0x74,0x1,0xc8,0xb8,0x5,0x8,0xc1,0x46,0x6c,0x60,0xba,0xb6,0x0,0x9a,0xa0,0x5a,0x1,0x42,0x90,0xa3,0xa7,0x23,0x84,0x26,0xe7,0x9d,0x4,0x60,0x2b,0xd6,0x83,0x78,0x89,0x90,0x52,0xe,0xa4,0x3e,0xf3,0x18,0x69,0x4d,0x4e,0x9e,0xa1,0xff,0xfc,0x24,0x60,0xcf,0xfd,0x29,0xf8,0x27,0xe9,0x1b,0xf1,0x6f,0x73,0x73,0x73,0x73,0x73,0x73,0xe2,0x37,0xe2,0x9b,0x19,0x79,0x7f,0xc,0xcd,0xa5,0x25,0xf1,0xc7,0xec,0x1c,0x8a,0xe2,0xeb,0xb9,0xff,0x9a,0xd9,0x48,0xfe,0x6f,0xf1,0x57,0xa1,0x59,0xf4,0xfb,0x44,0x4e,0xd0,0xc3,0xff,0x10,0x5f,0x4b,0x88,0xc9,0xd1,0x66,0xee,0xaf,0xe7,0xe6,0xe6,0xfe,0x6c,0xee,0x9f,0xe2,0x51,0x98,0xfb,0x93,0xf8,0x8d,0xf8,0x67,0xed,0x1e,0x16,0xe7,0x5d,0xe8,0x5b,0xf1,0x6b,0xf9,0xfb,0xbf,0x8a,0x6f,0xe5,0x4c,0xfc,0x36,0xfc,0xed,0xb7,0xca,0xec,0xd8,0xbc,0x5f,0x8a,0x5f,0xb0,0x48,0x51,0xfc,0x42,0xfc,0x4b,0xda,0x9b,0x75,0x1b,0x6d,0x8,0x1c,0x73,0x3b,0x23,0xef,0x86,0x5b,0xa,0x14,0xb8,0x8d,0x96,0xf4,0x4c,0x9c,0x33,0x3e,0x38,0xd1,0xba,0x81,0xc1,0x19,0x68,0x28,0x59,0x26,0x33,0x30,0xfc,0xcb,0x65,0x4,0x32,0xbb,0xcc,0x40,0xeb,0xc9,0x5,0x56,0xe8,0xb2,0x90,0xca,0x79,0x9f,0x15,0xe0,0x85,0x65,0xf9,0xb7,0x55,0x5e,0x74,0x94,0xc2,0x85,0x5c,0xa8,0x3c,0x89,0x81,0x5c,0xa4,0x7e,0xa5,0xac,0xb7,0x73,0xf2,0xa,0x54,0x19,0x33,0xa6,0x1a,0x19,0x29,0x99,0x38,0xb6,0xe3,0x9,0xa0,0x6b,0xb9,0x49,0x76,0xe8,0x6a,0x4a,0x96,0xd5,0x9d,0x84,0xe,0xa,0x56,0x95,0xa5,0xd3,0x68,0xe3,0x98,0xb8,0x1e,0x3,0xc3,0x3b,0x62,0x73,0xbe,0x13,0x20,0xc8,0x85,0x4,0x7a,0xf2,0xe4,0xc9,0x93,0xa7,0x1f,0x31,0x25,0x78,0xff,0xa7,0x46,0x66,0xb8,0xdc,0xc3,0x82,0x3,0x9a,0x8c,0x80,0x89,0x62,0xcd,0x3b,0x1e,0x60,0xa9,0x2a,0x56,0x1b,0x87,0x7,0x7d,0x85,0x3a,0x13,0xfa,0x7c,0x4c,0x6e,0xe5,0xb8,0x6a,0x57,0x51,0x33,0x77,0xed,0x5d,0xd7,0xf5,0xc9,0x76,0xf1,0xb0,0x42,0x9d,0x31,0x30,0xd4,0x21,0x66,0x43,0xdf,0x29,0xd3,0x1,0x6a,0xb1,0x7a,0xc7,0x2e,0x3,0x73,0xbf,0x17,0xc2,0x0,0xa1,0x6f,0x39,0xb6,0x26,0x65,0x91,0x3a,0x13,0xc6,0x69,0x23,0xe2,0x18,0xb3,0xc,0x41,0x25,0x76,0xd0,0x88,0xcb,0xfb,0x9f,0x25,0x32,0xc3,0x15,0xb,0x70,0x11,0xf,0xa4,0x66,0x95,0xdb,0xf,0x30,0x5,0xc0,0x6a,0x63,0x75,0xb7,0x48,0x9f,0x3,0x72,0xac,0xa9,0x20,0xcf,0x34,0x1,0x60,0x8b,0x31,0x7b,0x12,0xa2,0x9a,0xa8,0x60,0x4c,0xb2,0x5a,0xe4,0xd0,0xed,0x5f,0xd8,0x55,0xd1,0xd,0xa7,0x8e,0xbd,0x48,0x9f,0x32,0x39,0xce,0xe3,0x6f,0xc8,0x80,0x55,0x56,0x4d,0xfb,0xc3,0xb8,0xc7,0x26,0x63,0x1e,0x68,0xd3,0xd0,0xa0,0xec,0x4b,0xf3,0x79,0x56,0xdf,0x8c,0x31,0xcb,0x16,0x54,0x92,0x1c,0x40,0xa3,0xb5,0xc9,0x14,0x99,0x61,0x5f,0x36,0x72,0x9,0x80,0xd5,0x6a,0x9d,0x36,0x30,0x31,0x17,0x9d,0x29,0x5f,0xe9,0xca,0x65,0xdc,0x4d,0xb9,0x26,0x4f,0x4f,0x73,0x0,0x9d,0x99,0x10,0x71,0x82,0x0,0xc4,0x10,0x47,0xf8,0xbe,0x33,0x66,0xc5,0xba,0xfb,0x3e,0xcf,0xc0,0x84,0x7a,0xf8,0xf9,0x43,0xf0,0xd,0x29,0x30,0x4c,0x16,0x0,0x1b,0xce,0xa5,0x4d,0x8d,0x9,0x3b,0x9a,0x59,0x38,0x8a,0xe1,0xe6,0xcc,0xbd,0xcd,0x18,0x54,0x92,0x14,0x40,0xf3,0x29,0x76,0x13,0xa7,0x0,0x58,0xcb,0x69,0xc7,0x8a,0x3,0x20,0x92,0xd1,0x14,0x93,0xa7,0x63,0x4e,0x81,0x13,0x86,0xd5,0xaf,0x39,0xa6,0x66,0x5c,0xd3,0xd0,0x97,0xdb,0x4,0x1,0xb0,0xf1,0xbd,0x7b,0xc6,0xdc,0xb1,0x1f,0xfb,0xcc,0xd8,0xa3,0xcf,0xa6,0x86,0x79,0x36,0x59,0xa7,0x44,0x4b,0xdb,0x4a,0x9c,0x5b,0x80,0x63,0x5,0xbc,0xe0,0x74,0xba,0xcd,0xff,0x59,0xe6,0xac,0x41,0x1f,0x18,0x53,0x8b,0xc0,0xad,0x37,0x44,0x61,0x70,0x65,0xb,0x80,0xd3,0x63,0x3e,0x6f,0x9,0xc0,0x4b,0xf0,0x66,0x26,0x5b,0xaa,0x69,0x1c,0x17,0xd8,0x11,0x2e,0x92,0x76,0x88,0xe4,0x53,0x6,0x1,0xb0,0x3b,0xdc,0xa2,0xca,0x2e,0xf,0xc,0x64,0x2f,0x5a,0xd6,0x76,0x32,0x60,0x3e,0x88,0x2,0x98,0x3e,0x7d,0x8a,0xa7,0xf0,0x86,0x11,0x23,0x1e,0x14,0x78,0x19,0x87,0x23,0x28,0x47,0x85,0x11,0x23,0x2a,0x32,0xcc,0xe4,0x53,0x71,0x60,0x41,0x8,0xe6,0xb9,0x96,0x2b,0xd9,0x1b,0x4,0x20,0xc7,0x1,0x4f,0x8c,0x34,0x1,0xb0,0x3d,0xe6,0xf7,0xb4,0xd8,0xd6,0xde,0x1d,0xa8,0x5,0xd8,0xda,0x27,0x16,0x80,0xa1,0x25,0x6a,0xb,0xf1,0xf2,0x3c,0x93,0x0,0x10,0xbc,0xfb,0x31,0x9e,0xc8,0xc4,0xf4,0x37,0x42,0xc4,0x55,0xae,0x6f,0x3,0xd0,0x64,0x3d,0x41,0x0,0x3e,0xf2,0xc0,0x2,0x5,0x4e,0xdd,0xdf,0x4b,0xc1,0x1e,0x1f,0x58,0x60,0x81,0xc7,0x28,0x2c,0xf5,0x93,0x71,0x62,0x51,0x9c,0xbc,0x59,0x0,0xb4,0xa1,0x20,0x71,0x39,0xcd,0x71,0x4c,0x9b,0x1,0x17,0xb1,0x37,0x9c,0x12,0x3,0xe6,0x53,0x5,0xa0,0x6b,0xe3,0x7b,0x53,0x5,0x80,0x69,0xd0,0x69,0x82,0x0,0xc,0xad,0xef,0xdc,0xb,0xb6,0x2d,0x16,0x18,0xcb,0xef,0x9c,0x9b,0x2e,0x0,0xa1,0x26,0x72,0xc1,0x73,0x82,0x0,0x48,0x95,0x6d,0x8a,0x93,0xb7,0x17,0x79,0x3c,0x64,0x98,0xc9,0xa7,0xe2,0xbc,0x6a,0xba,0x67,0x11,0x80,0x24,0xa7,0x6a,0x89,0x9a,0x54,0xb1,0x10,0x82,0x2b,0x2e,0x92,0x77,0x73,0x21,0xb8,0x51,0x83,0xbc,0x33,0xaf,0x0,0xb,0xc6,0x35,0xf3,0x99,0x56,0x80,0xa6,0x5c,0xb5,0xee,0xa4,0xe2,0xfa,0x42,0x93,0x53,0x1a,0x91,0x56,0x41,0xcb,0xca,0x33,0xe8,0x53,0xa4,0xce,0x91,0x63,0xfa,0x72,0x49,0x8,0xbd,0xf2,0xfe,0x8d,0xb2,0x21,0xfa,0x6f,0x9b,0xa6,0x4c,0x9c,0x71,0x20,0xfe,0xb3,0x71,0x66,0x16,0x0,0x21,0x28,0xa8,0x6d,0x58,0xa4,0xcf,0x7c,0xca,0xa,0x50,0xa2,0xcf,0x1e,0x39,0x4a,0x76,0x1c,0xdd,0xc,0x3a,0xc0,0x4e,0x26,0x1d,0xe0,0x2c,0xd4,0x5b,0x5a,0xea,0xd2,0x4d,0x99,0xa,0x43,0x89,0x2a,0xd8,0x4a,0x60,0x8d,0x1d,0x4a,0x74,0x20,0xc2,0x40,0x58,0xa3,0xce,0x8,0x18,0x24,0xa,0x40,0x3f,0x7c,0x23,0xb7,0xc,0xf4,0xe2,0x3d,0x57,0x80,0x1a,0xb7,0x2c,0x8,0xc1,0xc2,0x2c,0x9c,0x59,0xb6,0x80,0x3b,0xb6,0xc9,0x91,0xe3,0x30,0xea,0x74,0xd0,0x96,0xa,0xa7,0x69,0xee,0xa,0xd6,0x69,0x0,0xa3,0x19,0x4,0xe0,0xd8,0xc2,0xb7,0x6a,0x99,0xac,0x80,0x3c,0x35,0xe0,0xc5,0xf4,0x2,0xa,0x41,0x31,0xda,0x2,0x84,0xe0,0x80,0x1e,0x40,0x14,0x53,0xcf,0xa1,0x15,0xe4,0xda,0xf,0xec,0x86,0x58,0xb0,0x9d,0x3a,0xc0,0x3c,0x4b,0xb4,0xdc,0xdf,0x4b,0x7e,0xfe,0x20,0xf7,0xee,0xf,0x9f,0x98,0x63,0xb,0xc0,0x22,0x35,0xc6,0xc0,0x20,0x42,0x26,0xb2,0x70,0x92,0x5,0xc0,0x56,0x2,0x6f,0x18,0x1,0x5d,0xae,0xf5,0x65,0x84,0x45,0x5e,0xa6,0xf9,0xab,0x78,0x8e,0xde,0x40,0x21,0x18,0x48,0x69,0x1e,0x24,0x8,0x40,0x9e,0x9e,0x16,0x9d,0x78,0x90,0xd,0x7,0x8,0x57,0x8f,0x8f,0xac,0xea,0x91,0xc5,0xe4,0xd8,0xd1,0x53,0x43,0x8c,0xa7,0x3d,0x73,0x46,0x5e,0xc1,0x1,0x7,0xec,0x92,0x17,0x82,0xbc,0x7c,0x4e,0x99,0xa2,0x10,0x1c,0x49,0xd1,0xcf,0x71,0xcd,0xd8,0xf6,0x38,0x3a,0x36,0x91,0xcf,0x64,0x5,0x7c,0x1e,0xdb,0x32,0xd5,0xc,0x4c,0x51,0xc5,0x2a,0xe9,0x2,0x40,0x81,0x55,0x4d,0x2b,0x30,0x22,0x1,0x1c,0x77,0xde,0x62,0x1c,0x5,0x70,0xb1,0xc7,0x38,0x1b,0x12,0x18,0x3e,0xeb,0x8c,0x66,0xa4,0xbc,0x71,0xcf,0x8,0x18,0xd3,0xd0,0xf5,0x79,0xe3,0x69,0x1,0x80,0xdb,0x53,0x36,0x8d,0x16,0x13,0x60,0x28,0x57,0x89,0x7b,0x86,0x40,0xd3,0x6,0x6c,0xbf,0x2c,0xf7,0x82,0xb,0x8,0xba,0xc8,0xa0,0x8b,0x2f,0xc5,0xa6,0x88,0x2b,0x4,0x92,0x17,0x26,0x5c,0x29,0x53,0x64,0x46,0x2,0xb8,0xae,0x79,0x95,0x2f,0xc0,0x93,0xa7,0x1f,0x1d,0xb1,0xc3,0x80,0x1,0x3b,0x42,0xb0,0x13,0x23,0xa8,0x94,0xe9,0x31,0xd4,0x82,0xc6,0x1f,0x64,0xf4,0xe0,0xda,0x17,0x98,0x53,0xf8,0x1d,0xf,0x7a,0x77,0x3a,0xc7,0xe1,0xbf,0xdb,0x8e,0x8c,0x46,0xb6,0x62,0xc5,0x33,0xe6,0xa,0xc1,0x6e,0xe4,0x11,0xe0,0x9,0x64,0x9a,0xfc,0x6e,0xec,0x27,0x8,0xc,0x4f,0xd5,0xfc,0xa4,0xcb,0x16,0x9b,0x74,0xc9,0xd3,0x51,0x42,0xc5,0x9e,0xd9,0x62,0x4d,0xd3,0xb2,0x8a,0x34,0x43,0xdc,0xf6,0xda,0x4,0xf5,0xbf,0xe4,0xa9,0x32,0x27,0x21,0xa1,0x2a,0x41,0x3c,0x85,0x2c,0xd2,0x4,0xba,0x4a,0xa2,0x4b,0x77,0x16,0x7c,0x53,0xdb,0xc6,0xf4,0xa4,0xef,0x6a,0xa8,0x36,0xe7,0x79,0x8e,0x2,0xe9,0x84,0xe0,0x4e,0x6e,0x68,0x45,0x9e,0xd5,0xdc,0x85,0xe0,0x7d,0x36,0xb8,0xcb,0xbc,0x44,0x3f,0x35,0x55,0x9c,0xc8,0xa9,0xa5,0x6c,0xe7,0xf9,0xd8,0xf6,0x9,0x95,0xe9,0x8f,0x42,0xb0,0xa0,0xe7,0x7f,0x84,0x10,0xca,0xb4,0x42,0x8,0xee,0x56,0xce,0x12,0x12,0xbb,0x66,0xe2,0x44,0xfa,0x94,0x24,0xdc,0x65,0xaa,0x17,0x7d,0xfa,0xd3,0x9d,0x93,0x90,0xe8,0x54,0x95,0xd3,0xf0,0xc0,0x25,0x39,0xb6,0xe3,0xa0,0xf2,0x37,0x84,0x7e,0x6e,0xb8,0xe2,0x10,0x38,0xd7,0x12,0x57,0xe3,0x27,0xd7,0x8d,0xa4,0x76,0x1c,0xdc,0xd,0x9e,0x8c,0x10,0xf7,0x60,0x5,0x98,0xd0,0xd1,0xd2,0x7a,0x9e,0x59,0xe7,0xc8,0x91,0xc5,0xb9,0xc9,0x85,0x1d,0x2d,0x39,0xb5,0x10,0x42,0xc2,0xa4,0xb8,0xc2,0xd,0x6c,0x3f,0x36,0x53,0xde,0xb,0xb7,0x3f,0x7c,0x8a,0x17,0x3d,0xeb,0xd3,0x1d,0x93,0x90,0xe0,0x54,0x95,0xd3,0x30,0xa,0x31,0x80,0xe1,0xdb,0x5,0xc0,0xa9,0x66,0x2f,0xf1,0xec,0x32,0x6a,0x39,0xd1,0x42,0x66,0x9e,0x99,0x50,0xb1,0xb8,0x38,0xfc,0xad,0x81,0xe,0x30,0x31,0x56,0xba,0x7d,0x5e,0x22,0xf8,0x48,0xf3,0xa9,0xb4,0xe9,0x66,0x72,0x59,0xbb,0xfc,0xd1,0x56,0x1b,0x57,0xa1,0x3,0xbb,0x38,0x2,0xe9,0xef,0x45,0xc6,0xa0,0x85,0x57,0x3e,0x7d,0x36,0x1b,0x48,0xc1,0x37,0x9b,0x76,0x85,0xe,0x6d,0x22,0x5e,0x80,0x11,0x55,0x3,0x13,0xc9,0x73,0x13,0x41,0x43,0x89,0x60,0xfa,0x83,0x69,0xd4,0xa,0x21,0x4,0x2b,0x34,0x6d,0x1b,0xdf,0xe6,0x6,0xd5,0x4e,0x38,0xd1,0x6b,0x9e,0xb0,0xc3,0x24,0x52,0x5,0x43,0x4d,0xa1,0x4e,0x9f,0x47,0x72,0x2a,0x84,0x9e,0x29,0xed,0xfc,0xf3,0x18,0x97,0xef,0xa6,0x1,0x18,0x5e,0x3d,0x47,0x8e,0x5e,0x8e,0x4b,0x6,0x41,0x5e,0x90,0x22,0x0,0x6d,0xd5,0x63,0x0,0x34,0xf4,0xac,0x21,0x60,0x39,0x74,0xc6,0x2a,0xd9,0xc5,0x94,0x78,0x8c,0xaf,0x4b,0x40,0x3c,0xb7,0x78,0x8,0xb4,0x81,0xd8,0x30,0x16,0x82,0x1c,0x4d,0x56,0x62,0x6d,0x20,0x99,0x1b,0x24,0xf0,0x72,0xa9,0x1,0x65,0x79,0x3a,0x4c,0xd8,0x64,0x4b,0xea,0x31,0xf7,0x7c,0x20,0x47,0x95,0xaa,0x9e,0x1d,0x95,0xe8,0x3,0xb0,0x53,0x17,0x1d,0x3,0x75,0xc1,0x80,0x9,0x8f,0x11,0x62,0x96,0x85,0xe3,0x90,0x7f,0xfb,0x2a,0x97,0x9e,0x60,0xb9,0x63,0x5f,0xc7,0x9,0x87,0x47,0xf3,0xea,0x19,0xdf,0xe7,0x9c,0x3a,0x45,0x72,0xec,0x68,0x2,0x30,0xd6,0x4b,0xb4,0xb0,0x43,0x8e,0x22,0xb5,0x68,0xf7,0x94,0x6d,0xe7,0xa5,0x5e,0xf,0xc7,0xdc,0xa9,0x8b,0xab,0x33,0xf9,0x2d,0x54,0xff,0x58,0x61,0x21,0xc2,0x4e,0x42,0x68,0xf9,0x84,0x55,0xae,0x8c,0xef,0x66,0x71,0x5d,0x5b,0x40,0x10,0xd3,0x14,0xa9,0x82,0x21,0x67,0x42,0x4e,0x8,0x72,0x54,0x55,0x83,0x2f,0x75,0x5,0x98,0xb6,0xab,0x71,0x46,0x83,0x25,0xf2,0x5c,0x2b,0x99,0x3c,0x53,0x39,0x59,0xee,0x93,0xa8,0x43,0x5b,0xee,0xd8,0xd7,0x71,0x4c,0xaf,0x9e,0xf1,0x7d,0x7a,0x66,0x46,0x23,0x84,0x7a,0xca,0x6d,0x34,0x9d,0x76,0xe6,0xb0,0x33,0xf2,0xe0,0xd9,0x88,0xc7,0x73,0x9,0x80,0x54,0xff,0x38,0xd,0x6a,0xd,0x84,0x5b,0x62,0x5d,0x8,0x1e,0x28,0x69,0xdf,0xd3,0xcd,0x7d,0x62,0x43,0x2f,0x79,0xc3,0x32,0x1d,0xf2,0x74,0xb5,0x15,0xa0,0xc5,0x7,0x96,0x58,0xa7,0xc1,0x84,0xb5,0x4c,0xeb,0xf1,0x54,0x1,0x8,0xfd,0xfa,0x14,0x64,0x68,0x45,0x6,0x4e,0x96,0xfb,0xa4,0xe8,0xd0,0xb9,0xc,0xe,0xda,0x14,0x8e,0xdb,0xab,0x97,0x2d,0xbb,0x98,0x5,0x1e,0xa2,0x29,0xca,0xe6,0x9e,0x65,0x9e,0x7b,0xad,0xe4,0x8c,0xed,0x8c,0x95,0xea,0x1f,0x1f,0xb9,0x96,0x51,0x15,0xf3,0x3c,0x53,0xb4,0x30,0x4e,0x27,0x37,0x4a,0xb,0xd3,0x92,0xc3,0x6a,0x21,0x8,0xa4,0xea,0x0,0x25,0xea,0x4c,0x18,0x72,0x9d,0xe4,0x47,0x9d,0x5d,0x0,0x5e,0x95,0x4,0x95,0xe5,0x3e,0x8e,0x36,0xd6,0xc4,0xbd,0x92,0xe3,0xf4,0xea,0x59,0x2,0xb9,0xe2,0x9e,0x5c,0xc5,0x15,0x84,0x1c,0xd6,0xee,0x14,0xb1,0xb9,0xe4,0x5a,0xea,0x9,0xb6,0x33,0x56,0xaa,0x7f,0x4c,0x94,0x51,0xbb,0x77,0xa9,0x9b,0x6e,0xae,0xb4,0x51,0x46,0x66,0x21,0x9d,0xcf,0xa0,0xaa,0x59,0x1,0x97,0x66,0x90,0x46,0x6,0x4e,0x96,0xfb,0x38,0xdb,0x18,0x13,0xf7,0x4a,0x8e,0xe5,0xd5,0xb,0xdf,0xa1,0x6d,0x21,0xe4,0xb4,0x9f,0xd1,0x64,0x45,0xbb,0xa,0x21,0x58,0x27,0xcf,0x66,0xbc,0xe0,0x33,0x2f,0x4,0xab,0x34,0x65,0x72,0x69,0x72,0x81,0x89,0x2b,0xe9,0xf6,0x4e,0x77,0xbd,0x7e,0xef,0x10,0x33,0x6d,0x58,0x1c,0x3,0xf5,0x31,0x36,0x79,0xb2,0x73,0x42,0x8b,0x76,0x67,0x6a,0x1b,0xfd,0x59,0xb6,0x3b,0xf6,0x75,0x1c,0xcb,0xab,0x17,0x9a,0x4c,0x7d,0x50,0x80,0x94,0x33,0xfa,0xc0,0x30,0xe2,0x80,0x10,0x3a,0x16,0xc8,0x13,0x43,0xa0,0x6f,0xc6,0x36,0x7d,0x69,0x2e,0x5,0x6d,0x58,0x4c,0xe,0x39,0xae,0x18,0xc5,0xf8,0x74,0x36,0x4e,0x88,0x75,0xf7,0x95,0xf0,0xb,0x77,0x1b,0xfd,0x59,0xb6,0x3b,0xf6,0x55,0x9c,0x1f,0x95,0x77,0xc2,0xe,0xe2,0x9f,0x0,0x3,0x6e,0xa4,0xcf,0x75,0x91,0x2a,0x23,0xe0,0x25,0x82,0x96,0xbc,0x17,0xf5,0xbb,0x9e,0x24,0x97,0x5d,0x90,0x90,0xa,0xae,0x21,0xa7,0x9d,0x70,0x4a,0xf7,0xe5,0x35,0x66,0x3e,0x46,0x42,0xbd,0x3,0x16,0xb9,0x91,0x11,0x9c,0x75,0x3e,0x50,0x20,0xcf,0x5e,0x72,0x91,0x3b,0x4f,0x99,0xa7,0x32,0x8b,0x2,0x1c,0x66,0x45,0xe,0x23,0x0,0x3b,0x2d,0x26,0x37,0x45,0x0,0x4e,0x18,0x53,0xa4,0xc8,0x58,0x9a,0x90,0x76,0x3e,0x46,0x72,0xd9,0xbb,0x42,0x7a,0x3c,0xb4,0x2c,0x11,0xf3,0x45,0x4e,0xd3,0x22,0xf7,0x8c,0x19,0xf3,0x28,0xd,0xb2,0x2,0xf7,0x8c,0x19,0xf1,0x51,0xea,0xea,0x9d,0x70,0xdb,0x78,0x50,0xc,0x2b,0x23,0x9d,0x35,0x84,0x7d,0x6b,0x6a,0xcd,0xf1,0x39,0x49,0x49,0x1c,0x8a,0xe2,0xdf,0xc5,0xaf,0xc5,0x57,0xe2,0x1b,0xf1,0xd5,0x9b,0xba,0xf1,0x53,0xf1,0x3b,0xf1,0x33,0xf1,0x33,0xf1,0x3b,0xf1,0x53,0xc9,0xfb,0x83,0xf8,0x7,0xad,0xcd,0x5f,0x84,0xa5,0x6e,0xfe,0x33,0x2c,0x7d,0x13,0xd3,0x57,0xe2,0xff,0xc2,0xdf,0xfe,0x47,0xfc,0x63,0xf2,0x50,0x6d,0xd3,0x51,0x3,0x25,0x35,0x80,0x64,0x41,0x8d,0xa7,0x23,0x4f,0x3f,0x49,0xf2,0x35,0x5d,0xdb,0x2c,0x1f,0x6b,0xed,0x49,0x9a,0x59,0x24,0xfd,0xe3,0xee,0xb2,0xb5,0x74,0xc3,0x34,0x28,0xad,0xec,0x3b,0x47,0xb4,0x54,0x97,0x8d,0xf5,0x56,0xd6,0xf8,0x40,0x81,0x2,0x97,0x32,0x7b,0x26,0x8,0x47,0x5b,0xa0,0xae,0x23,0xf6,0x14,0x39,0x90,0x31,0xc1,0x56,0x3a,0x2b,0x8,0xc1,0x3c,0xc7,0xc,0xed,0x32,0x58,0x29,0xef,0x74,0x45,0x75,0xe3,0xbc,0x61,0x5,0xb8,0xe5,0x94,0x7b,0xee,0x39,0x95,0xc1,0xee,0x29,0xf9,0x18,0x86,0x59,0xba,0xcc,0x83,0xec,0x45,0x89,0x16,0x6d,0x8e,0x95,0xf1,0x8f,0xae,0xa2,0x1c,0x64,0xf0,0x71,0x17,0x4f,0x1a,0xf7,0xb2,0xaa,0xd4,0xa6,0xe6,0xba,0xd9,0xa3,0x9e,0xa9,0xfb,0xce,0xf2,0xb1,0x2c,0x71,0xa7,0x4,0x37,0x84,0xc0,0x88,0xea,0x1f,0x77,0x97,0xad,0xd,0xa7,0xe0,0x24,0x9e,0x2,0x21,0xb8,0xa3,0x49,0xd9,0x51,0x57,0xf0,0x38,0x8e,0x9c,0xd,0xde,0x73,0x5,0x1a,0x1a,0x5,0x46,0x28,0x6b,0xf1,0x99,0x4,0xd6,0xd0,0x59,0xe9,0xac,0xf2,0x2f,0xe7,0x33,0x95,0x88,0x75,0x64,0x45,0x26,0x83,0xb1,0x29,0x2,0x50,0x67,0x95,0x1e,0x3d,0x56,0x35,0x3b,0xc5,0xc8,0xc7,0x70,0x0,0x53,0x0,0x3d,0x3e,0x6a,0xb5,0x44,0xcb,0xdc,0xd1,0x8f,0x7c,0xb1,0xb1,0x0,0x54,0xd9,0x13,0x82,0x12,0x1d,0x2a,0xf2,0x5d,0x39,0x92,0xf2,0x76,0xaa,0x39,0x1e,0x6a,0x9c,0x4c,0xef,0x7e,0x72,0xf9,0x58,0x3d,0x95,0x22,0x80,0x46,0x55,0xff,0x78,0x42,0xd9,0x5a,0xa4,0xae,0x7b,0x2d,0xd5,0x9e,0x8e,0xb,0xc,0x61,0x95,0x86,0xb2,0xbc,0x1f,0x8,0x21,0x4,0x7,0xb2,0x57,0x61,0x69,0x55,0x72,0x7a,0x42,0x15,0xcb,0x9c,0xc9,0xd4,0x91,0xc4,0x74,0x56,0x57,0x91,0xe8,0x64,0x9c,0x3d,0x6b,0x52,0xdc,0x54,0x1,0x78,0x62,0x89,0x26,0x4d,0x96,0x34,0x1,0xd0,0xf3,0x31,0x52,0x2a,0x9f,0x5a,0xf7,0xdb,0x97,0x6b,0x5d,0x64,0xf3,0x31,0x60,0x41,0x8,0x1e,0xd8,0x67,0x59,0xc2,0xba,0x25,0x86,0xe1,0xfb,0x53,0x55,0xe,0x36,0x58,0x60,0x12,0x5,0x2a,0xa4,0xa,0x40,0x62,0xf9,0x58,0x43,0x0,0xf2,0x3c,0xb3,0xa1,0xfb,0xc7,0x9d,0x65,0x6b,0x6d,0x2c,0xae,0x1a,0x97,0x7d,0xd4,0x9e,0xdc,0x8c,0xb7,0x9,0xca,0xf4,0xb9,0xe7,0x8e,0x96,0xd4,0x1,0x6a,0x54,0x28,0x90,0xa3,0xec,0xd8,0xc2,0xd6,0xb3,0x4f,0xdc,0xeb,0x72,0x20,0x5f,0x29,0x0,0x51,0x8d,0xf2,0x82,0x8e,0x43,0x6a,0xf9,0x18,0x89,0x4a,0x60,0x1a,0xc0,0x1e,0xb,0x0,0x42,0xb0,0x11,0xec,0xff,0xca,0x97,0xec,0x6,0xe,0x7,0xad,0x0,0xc2,0x21,0x8d,0x60,0xd0,0xa6,0x8,0x40,0x42,0xf9,0x58,0x96,0xa9,0x1a,0x71,0xc6,0x5b,0x66,0xd0,0xb7,0x5d,0xb6,0x56,0x7d,0xb7,0x14,0x99,0x6f,0x33,0x66,0xcc,0x83,0xa,0x2b,0xb1,0x13,0xe7,0x1f,0x8,0xc1,0x36,0x3d,0xe,0xb9,0xa1,0x1f,0xb9,0x4e,0x42,0x74,0x6e,0x4c,0x47,0xa,0x7a,0xb4,0x35,0x5d,0xc8,0xe4,0x89,0x4f,0x25,0x0,0x89,0x20,0xb3,0x63,0xbc,0x16,0x23,0x5d,0xc6,0x79,0x1f,0x59,0xc0,0xde,0x30,0xf1,0x5e,0xa6,0x99,0x81,0xda,0x7d,0xee,0xd8,0x21,0x4f,0x81,0x73,0xb,0x99,0x4,0x21,0x68,0xb1,0xa1,0xbb,0x56,0xb8,0xa1,0x12,0x58,0x92,0x4a,0xcb,0x47,0x4e,0xb2,0x74,0xdf,0x55,0x3e,0x16,0x80,0xb1,0x5a,0xf8,0x21,0x94,0xd9,0xb1,0x15,0xc3,0x63,0x97,0xad,0x75,0xed,0x71,0xeb,0xe4,0x28,0x50,0xd1,0x34,0x8d,0xa6,0xaa,0x26,0xf2,0x12,0xbc,0xd5,0xb1,0x97,0x4c,0x59,0x6,0xed,0xa4,0xea,0x89,0xee,0xae,0x4a,0x5d,0x7f,0xb2,0x8,0xc0,0x8d,0x95,0xc9,0x6b,0xf7,0xe2,0x86,0x3d,0x72,0x2c,0x70,0x27,0x83,0xe0,0xed,0xfb,0xc,0xcd,0xdf,0xec,0x7c,0x8c,0x4c,0x65,0xef,0xce,0xe9,0x0,0x23,0x1e,0xa5,0xbe,0xd5,0x8e,0xb7,0x80,0xd3,0x60,0x18,0x59,0x51,0xa6,0x6c,0x97,0x9e,0x10,0xec,0x29,0x4e,0x89,0x3c,0xe3,0x74,0x15,0x46,0x2a,0x77,0x9,0xe5,0x63,0x39,0xd3,0xe1,0x54,0x16,0xe8,0xb0,0x42,0x47,0xf7,0xf,0x98,0x65,0x6b,0x9d,0x53,0x30,0x31,0xed,0x5c,0x21,0x58,0xd1,0x31,0x40,0x5b,0x9,0x94,0xf7,0x97,0x25,0xe8,0x95,0x21,0x1c,0x49,0xad,0x3b,0x21,0x9d,0x55,0xd1,0x40,0xb2,0x8,0x40,0x89,0x21,0x47,0xe4,0xf5,0x5c,0x4a,0x4b,0xad,0xec,0x2,0x43,0x6e,0xed,0x1c,0x89,0xe9,0x89,0xa1,0x71,0x3e,0xc6,0x5b,0xed,0xe5,0x27,0xc6,0xa1,0x93,0xf6,0x5c,0xa9,0x5d,0x53,0x60,0xc2,0x6,0x15,0xc5,0x6c,0xd8,0xe,0xa2,0xf4,0xa6,0xa,0x80,0xab,0x42,0x2d,0x72,0x21,0xda,0xd4,0xde,0x92,0x43,0x21,0xd8,0xb7,0xc2,0x4f,0x49,0x9c,0x82,0x5b,0xe9,0x61,0x58,0xb,0x45,0x68,0xa4,0xbc,0x5,0xe7,0x46,0xbf,0x2e,0x75,0x33,0x50,0x8,0x72,0x94,0xa9,0xf3,0x14,0xc7,0xf6,0x48,0x25,0xf0,0x4e,0x8a,0x91,0x23,0x9d,0x95,0x2,0x87,0x51,0x52,0x5b,0xfa,0x34,0x29,0xcf,0x5f,0xa7,0x9,0x8c,0xe2,0xa7,0x7f,0x5f,0x1,0x93,0x6b,0x86,0xac,0x91,0x63,0x37,0xca,0x7a,0x95,0x6,0xc8,0xad,0x16,0xb8,0x74,0x1d,0x16,0x29,0x9f,0x26,0x0,0xae,0xf2,0xb1,0xb1,0x12,0xd8,0x94,0xb1,0x40,0xf2,0xd0,0x23,0xda,0x69,0xa9,0x5b,0x72,0xa,0x8e,0x18,0x46,0x70,0xd,0x67,0xd4,0x59,0xa0,0xc0,0xad,0x92,0x75,0x68,0x26,0x80,0x2d,0x85,0x35,0xbb,0xea,0x8a,0xf1,0x8,0xcf,0x9c,0x2b,0xfa,0x45,0x27,0x34,0x97,0xae,0x14,0x41,0x2f,0x87,0x85,0xa3,0x53,0x80,0xa0,0x2f,0xb,0x31,0x7b,0xe4,0x9c,0x1,0x13,0x1a,0x46,0xf4,0xc8,0x49,0x9c,0xa1,0x17,0xe,0xc4,0x72,0x2c,0xff,0x29,0x2,0xe0,0x2a,0x1f,0x8b,0xa2,0xf6,0x55,0xe5,0x1b,0x1a,0x29,0x67,0x1b,0x53,0xca,0xd1,0x75,0x4c,0x20,0x28,0x4c,0x97,0x54,0x12,0xcc,0x3e,0x8b,0x97,0xfc,0x87,0x3b,0xa7,0x6d,0x89,0xe7,0x94,0x94,0x4d,0xe9,0xde,0xd8,0xfd,0x3d,0xbd,0xdf,0xd4,0x24,0x6b,0xfd,0xe9,0x57,0x8,0xc1,0x39,0x43,0x86,0x5a,0x75,0x64,0x8b,0xa3,0xd8,0x17,0x4f,0x34,0x98,0x30,0xa1,0x41,0xdd,0x76,0xc4,0x7b,0x7a,0xa3,0x33,0x48,0x72,0x8a,0x56,0xfc,0x6d,0x5b,0x59,0x61,0x89,0xf1,0xb7,0xec,0xf8,0x41,0xc2,0xb3,0xf,0x68,0xb1,0xc4,0x12,0x2d,0xb9,0xd1,0x5a,0x1c,0x63,0x3d,0x8e,0x34,0xa1,0xee,0x8f,0x6d,0x9a,0x2a,0xc,0xc2,0xdd,0x7b,0x39,0xd1,0x5c,0xda,0xa4,0xc1,0x84,0xb1,0xda,0x26,0xdc,0xfe,0xd0,0xb4,0x9a,0xd4,0x30,0x36,0x36,0xe9,0xa5,0x4f,0x1c,0xfb,0x52,0xdf,0x49,0xd9,0xec,0x92,0xbc,0x8c,0x5a,0x9b,0x16,0x65,0xae,0xe8,0x53,0x96,0x77,0x6c,0x51,0x66,0xcc,0x63,0xcc,0x31,0xee,0x99,0xf,0x6d,0xb8,0xe9,0xf1,0x80,0x53,0xb1,0x65,0x5d,0xea,0x17,0xa8,0x32,0x8e,0x72,0xd8,0x42,0xa0,0xa8,0x5,0x4a,0x68,0x87,0x7d,0x1f,0xeb,0xec,0xbd,0xb0,0x10,0x24,0xc,0xa5,0x6d,0xee,0x88,0xc0,0xe1,0x3c,0x8c,0xdb,0xa9,0x4f,0xc5,0xd2,0x8c,0x83,0x67,0x28,0x70,0x26,0x87,0x6a,0x9b,0x67,0x8a,0x14,0xe3,0x28,0x25,0xee,0x39,0x65,0x9e,0x3c,0x17,0x5a,0x30,0xcc,0x86,0x3e,0xa1,0x3c,0xda,0xa,0xa0,0x11,0xab,0xbb,0x6d,0x55,0x2b,0x49,0xb2,0x64,0x9e,0xec,0x11,0x4d,0x2f,0x91,0x65,0xdc,0x79,0x42,0x8e,0x11,0x8b,0xa,0x9c,0x3d,0x21,0x7,0x4c,0x62,0xce,0x8c,0x2b,0xc0,0x2c,0xa0,0x25,0x7,0x4a,0xa6,0xff,0x8d,0xea,0xdb,0x13,0x82,0x53,0x3a,0x94,0xf5,0x42,0x72,0xd6,0x9d,0xed,0xb3,0xf7,0xce,0x68,0xb1,0xa2,0xd7,0x1e,0x62,0x3e,0xb0,0xea,0x65,0xc,0xde,0x19,0xd,0x4a,0x66,0xe4,0x9e,0xab,0x17,0x6c,0x51,0xb7,0xfc,0xde,0x39,0x5,0x32,0xdd,0x13,0x42,0x8,0xf6,0xac,0x52,0x94,0x2a,0x4,0x36,0x4f,0x97,0xd,0x63,0x82,0x97,0xa6,0x82,0x5f,0xb8,0x11,0x77,0xa9,0x80,0xd,0xdc,0xef,0xfc,0xac,0x9b,0x42,0xa2,0x0,0x9c,0xa9,0x2,0x20,0x4b,0x64,0x2c,0x52,0xa7,0xc5,0x84,0x9,0xcd,0x58,0x7,0x30,0xb4,0x8a,0x19,0xe,0x5e,0x2a,0xf2,0xac,0x68,0xdd,0x7d,0xe3,0x94,0xdf,0xae,0x6e,0x45,0x38,0xef,0x6c,0x9f,0xbd,0x97,0x1c,0x97,0xbb,0xa2,0x1c,0x4b,0xb1,0xe2,0x5c,0x91,0x6,0x5c,0xab,0xd1,0xfb,0x94,0xa9,0x59,0x7,0x4f,0x2e,0x2a,0x2e,0xae,0x84,0xf3,0x84,0xc,0xd4,0xf2,0x5a,0xf5,0xb4,0x85,0xa8,0x43,0x6e,0x16,0x1,0x60,0x9e,0x6e,0x54,0xeb,0x58,0xfa,0x2e,0x2a,0x9f,0x48,0x0,0x82,0x2d,0xa0,0x67,0x6c,0x1,0x70,0xab,0x70,0x4a,0x72,0x9d,0x71,0x5a,0x1,0xaf,0x5e,0x1,0x78,0xd4,0x2,0x3c,0xc9,0xfe,0xd5,0x53,0x4e,0xe3,0x7b,0x43,0x99,0x34,0x16,0xb9,0x89,0xa3,0xf7,0x29,0x53,0xb7,0x22,0x95,0x3,0x52,0x1c,0xa0,0xb4,0x69,0x3b,0x8a,0xdf,0xf5,0x64,0x6c,0xc2,0x6a,0x90,0x67,0x6b,0x14,0xae,0x1b,0xd3,0xe6,0xc4,0xbd,0xba,0x39,0x4,0xa0,0x62,0x24,0xa4,0xee,0xc6,0x29,0x99,0x6f,0x16,0x80,0x23,0xa9,0xf2,0xed,0x27,0x72,0x3a,0x76,0xa1,0xac,0x54,0x9d,0xd6,0x35,0xbc,0x34,0xa8,0x1b,0xdd,0xda,0xd5,0xd3,0x8d,0x1d,0x1e,0x0,0xdb,0x3,0x6e,0x75,0xdb,0x3a,0x7b,0xaf,0x2b,0xc1,0x9d,0xc4,0x33,0xfc,0x62,0x80,0xca,0x11,0xbd,0x1f,0x97,0xa7,0x79,0x71,0x3a,0x88,0x4b,0x3c,0x6a,0x8e,0x54,0x4b,0x0,0x28,0xd3,0x57,0x0,0xef,0x87,0xd0,0x89,0x8c,0x1,0x5a,0x6f,0xd3,0xd2,0x33,0x75,0x53,0x4,0x60,0x68,0xa8,0x94,0xcf,0x71,0x70,0xcc,0x54,0x2d,0xbf,0x6b,0x55,0x44,0x32,0xea,0x9e,0x71,0xce,0x88,0x81,0x96,0x84,0x62,0x71,0x66,0x34,0x6a,0x1c,0x2a,0x5f,0x91,0x1e,0x5d,0xb5,0x9e,0x1c,0x79,0x5e,0x34,0x9c,0xd0,0x56,0xa,0xf,0x6c,0x44,0x2f,0x58,0xa2,0xe3,0xfd,0xdd,0x71,0xf6,0xde,0x39,0x4f,0x14,0xc9,0xb1,0x99,0x7c,0x86,0x1f,0x1f,0x79,0x64,0x51,0x6f,0x23,0x37,0x25,0xe9,0x22,0xe1,0x24,0x4e,0xcb,0x30,0x26,0x6f,0x92,0xbc,0x5,0xb0,0x6b,0x1c,0x43,0x95,0x18,0xb6,0x41,0x51,0x73,0x65,0xa7,0x1e,0xf3,0x64,0xfa,0x32,0xec,0x38,0x9c,0x44,0x25,0x70,0x97,0xbe,0x1e,0x35,0x1d,0xc6,0x4c,0x7f,0xe2,0x58,0x67,0xf5,0xdc,0x50,0x97,0x0,0x1c,0x71,0x45,0x45,0x35,0x86,0xf4,0xa,0x14,0x9,0x8b,0xd5,0x76,0x50,0x73,0x58,0xee,0x45,0xc1,0x69,0x7c,0xd0,0xd7,0xd0,0x78,0xfd,0xec,0xbd,0x28,0x3f,0xb7,0xa1,0x3c,0xdd,0x38,0xc3,0x8f,0x1c,0x15,0x86,0x7a,0x9b,0x70,0xb9,0xae,0xa9,0x41,0xce,0xec,0x3b,0x8f,0x9e,0x94,0x31,0x8,0xb6,0x12,0xc8,0xba,0x59,0x99,0x20,0xa5,0x77,0x5a,0xc5,0x8d,0x54,0x1,0x68,0x71,0x40,0xde,0x9d,0xaa,0xfe,0x7e,0xb1,0xb8,0x54,0x99,0x30,0x76,0x4,0x85,0xdb,0x95,0xfb,0x80,0x3a,0x9b,0x94,0x95,0x1,0x2f,0xd2,0x35,0xaa,0xef,0x19,0x65,0x52,0x95,0xe5,0xee,0x36,0xbd,0xb3,0x5c,0xeb,0x45,0xd6,0x93,0x77,0x7c,0xab,0x85,0x9a,0x8d,0xb,0xf0,0xcc,0x85,0xe1,0xd6,0xb9,0xb4,0x7c,0x79,0x8b,0xb1,0xbf,0xc0,0x61,0x6,0x3e,0x99,0x5,0xa1,0x13,0x27,0x58,0xd,0xb1,0x9e,0x76,0xce,0xd7,0x3a,0x3d,0x26,0x4a,0x1d,0xa0,0x77,0x82,0x5e,0x39,0x62,0xc4,0x58,0x73,0xe8,0x97,0xe5,0x8,0xc6,0x56,0x8a,0xe3,0xc,0x3f,0xe8,0x93,0x13,0x22,0xb6,0x86,0xb9,0xd5,0xf,0x6d,0xd6,0x5d,0xc7,0x9a,0x58,0xac,0xa6,0x46,0xbe,0x58,0x67,0xef,0x65,0x17,0x0,0x16,0xb9,0x91,0x68,0x76,0x92,0x19,0x98,0x53,0xc2,0x4a,0x6b,0x8c,0x80,0xbe,0xe6,0xd1,0xb4,0xfc,0xe6,0x89,0xb,0x7e,0xdc,0x8b,0x5a,0x98,0x73,0x78,0xf5,0xfd,0xf2,0x35,0x4,0x4e,0x37,0xf5,0xe8,0x9a,0xf0,0xdc,0x83,0x96,0x2c,0x65,0x7d,0x43,0x89,0x25,0x23,0x70,0xf6,0x2a,0xea,0x95,0x3a,0x29,0x76,0xe5,0xbe,0x9b,0x50,0x9b,0x8d,0x33,0xce,0xed,0xd2,0x24,0xd3,0x6b,0x2,0x66,0x38,0x8d,0x2f,0x8b,0x0,0x50,0xb7,0xf2,0x5c,0x92,0x81,0xa0,0x8d,0xd9,0xce,0x34,0xf9,0xfe,0xc0,0xca,0xc6,0x48,0x1e,0x83,0x51,0x88,0xf6,0x80,0x5a,0xf4,0x33,0xdc,0x0,0x47,0xac,0xb3,0xca,0x48,0x5a,0x39,0x2d,0xe,0x3,0x38,0x4e,0x79,0x69,0xae,0xb4,0xca,0xc9,0x9b,0x9f,0x28,0x86,0xc0,0xd3,0x9b,0x26,0x7d,0x38,0x55,0x1d,0x5f,0x62,0xc4,0x13,0x23,0xc5,0x91,0xbd,0xce,0x90,0x35,0xd6,0x19,0xc5,0x68,0xb,0xd7,0xb4,0xa3,0x9f,0x4e,0x1b,0x69,0x87,0x73,0x65,0xf5,0x6b,0x2,0xc3,0x57,0xdb,0xa,0x9e,0x1c,0x13,0x96,0xe3,0x9a,0x11,0x23,0xee,0xa5,0x76,0x70,0x17,0x46,0x18,0x3c,0xcb,0xed,0x23,0x8,0x5c,0x59,0x93,0xef,0x6d,0x8d,0x3,0x6e,0xe3,0xf7,0x38,0x41,0x0,0x1e,0xa9,0x9,0x41,0x4d,0x29,0x23,0xd1,0xe6,0x3a,0xfa,0x69,0xad,0x0,0xeb,0x72,0x5,0x38,0xa,0x70,0x1,0x69,0x8e,0xfa,0x4a,0xaa,0x72,0xf8,0xda,0xda,0xc4,0x99,0xe5,0x98,0xed,0x33,0x78,0x5a,0x4c,0xe8,0x53,0x65,0x1c,0xab,0x95,0x96,0xaf,0xe3,0x92,0x7,0xe6,0xd9,0x82,0x18,0xe7,0x33,0xaa,0x9d,0xad,0xd1,0x67,0x8f,0x3d,0xfa,0xd1,0x7b,0xcb,0x3e,0x8f,0x8c,0xa9,0x9b,0xd1,0x91,0xda,0x9b,0xbb,0xcf,0x90,0x62,0x60,0xe4,0x4a,0x70,0x67,0x9d,0x11,0x6b,0xac,0x33,0x96,0x77,0xba,0xe7,0x30,0xfa,0xe9,0xd6,0x1,0xb2,0xe,0xce,0x95,0x12,0xc1,0x13,0xa9,0x8,0xf1,0xb9,0xf4,0xf9,0xb4,0x43,0x11,0x68,0x4b,0x90,0xb6,0x24,0xa5,0x3e,0xa6,0x89,0xd2,0x4e,0x2f,0xd7,0xe4,0xa8,0x15,0x64,0xd,0x43,0x8d,0x3,0xc3,0x9e,0x5e,0xa7,0xc1,0xd8,0x3e,0xbb,0x8c,0x9c,0xb2,0x33,0x76,0x19,0x72,0x4a,0x8f,0xbe,0xb6,0xf7,0xe9,0x2,0xe0,0x38,0x82,0xc5,0x3e,0x83,0x87,0x2,0x4b,0x4c,0x58,0x96,0x48,0x83,0xed,0xeb,0xe8,0xb1,0x44,0x9e,0x36,0x67,0xc9,0xf1,0xf8,0xec,0x1,0xc4,0xc0,0x30,0x8b,0xf4,0xb8,0x8a,0x10,0x89,0x4,0x1,0xa8,0xca,0xf4,0xcf,0xdd,0x18,0x53,0xe4,0x90,0xfb,0xe8,0xe7,0xa7,0x5e,0xc8,0x1e,0xd8,0x12,0x82,0x6d,0x1e,0xe4,0x1b,0xf1,0x2c,0xf1,0xb9,0x92,0x51,0x85,0x47,0x17,0x80,0x53,0x29,0x32,0x15,0xe3,0x4,0xad,0x1c,0x37,0x46,0xc5,0x40,0xa5,0x7e,0x8f,0xa3,0xc2,0x90,0x2d,0x0,0x9b,0xb4,0x79,0x51,0x85,0x80,0x1,0x5b,0xe,0x57,0xcf,0x1,0x2f,0x6a,0x5d,0x2f,0xca,0xc0,0x1,0xdb,0xc9,0xca,0x60,0xf2,0x1,0xc,0xe6,0x19,0x3c,0x5a,0x5,0x75,0xa7,0xaf,0x83,0xa,0x95,0x54,0x5,0x76,0x1f,0xd4,0x34,0x39,0x1e,0xe8,0x93,0xa7,0xe7,0xda,0x2,0xde,0x6f,0x81,0x2c,0xd0,0xe0,0x80,0x86,0x9e,0xb7,0xc7,0x2,0x27,0x7a,0x5d,0x5b,0x27,0x44,0x1a,0x64,0xa9,0xcd,0x7,0xff,0x2b,0xd3,0x72,0xef,0x38,0x76,0x2d,0xa7,0xc,0xa6,0x59,0x61,0xc8,0x95,0x3c,0x9d,0xe3,0x80,0xbe,0x62,0xb5,0x3f,0x73,0x65,0xe4,0x7,0xee,0xf0,0x1c,0xe4,0xf2,0x99,0xc8,0x1b,0x39,0x3,0x33,0xc8,0x14,0x69,0x6b,0x79,0x1b,0x48,0x9d,0xdc,0x3e,0xa7,0xb4,0xc9,0xbb,0xca,0x47,0xc9,0x2d,0x60,0xc0,0x1e,0x7b,0xc,0xe4,0xc2,0x7d,0xc4,0x99,0x10,0x9c,0xb9,0x82,0x37,0xde,0x53,0x4,0x56,0x19,0x6a,0x31,0xf5,0x1f,0x39,0xe1,0x82,0x31,0x2b,0x9c,0x28,0xb9,0x76,0xae,0xa8,0x80,0x6b,0x4e,0xa3,0x7c,0x1e,0x65,0xe2,0xaa,0xaa,0x37,0xcc,0x51,0xbf,0x27,0xc3,0xa4,0x48,0xf0,0xa7,0xa3,0x94,0x4e,0xba,0xa0,0x43,0x8f,0x8f,0x4a,0x91,0xb9,0x8e,0x5e,0xf9,0x92,0xf3,0xd8,0x64,0x9d,0x7d,0x5,0x48,0x15,0x9,0xdb,0xd7,0x51,0x1,0x36,0x99,0xe7,0xc1,0x3e,0xc9,0x23,0x49,0x9,0xfc,0x7e,0xaa,0x48,0x8b,0x34,0x29,0x71,0x16,0xef,0x4b,0xec,0x51,0x65,0xc8,0x9,0xcf,0xe6,0x9b,0x6c,0x75,0x71,0x99,0x1e,0x45,0x6,0xaa,0xfb,0xc3,0xda,0xe,0x5c,0x15,0x7d,0x4c,0xbf,0x9d,0xe3,0x40,0xa3,0x70,0x5,0x78,0x31,0xca,0xa0,0x16,0xb9,0x94,0x5b,0xc9,0xe,0x2f,0xfa,0xa,0xc0,0x88,0x25,0x3b,0x3c,0xd4,0xd0,0x1,0xb2,0x1c,0xc1,0x62,0x73,0xce,0x2c,0x5f,0xc7,0x3d,0xf7,0xe6,0x79,0x7e,0x3f,0x44,0xd,0xb9,0x10,0xe6,0x5,0x15,0x78,0x90,0x40,0x4b,0x29,0xd0,0x75,0x39,0x7,0xc3,0xeb,0xef,0xca,0x81,0xe9,0x6a,0x70,0xe3,0xb1,0x89,0xc8,0x3b,0xea,0xf7,0xd8,0x15,0x86,0xec,0xaa,0x5a,0xb6,0xe,0x70,0xc7,0x2e,0x85,0xa0,0x26,0x70,0x92,0xe,0xc0,0x88,0x22,0xd,0x3e,0x18,0x9b,0xc2,0x34,0x2b,0x20,0x93,0x4b,0x9c,0xe3,0xd0,0xc8,0x6b,0x88,0x2f,0x89,0xb8,0x97,0x56,0x80,0x5a,0x99,0x7e,0x18,0x26,0x8b,0x4d,0x49,0xda,0x8,0x33,0x55,0xd5,0xc,0x3d,0x1b,0x35,0xb4,0x2b,0xfa,0xd8,0x15,0x86,0xec,0x23,0x8e,0x6a,0x1c,0x1a,0xd3,0x78,0x4d,0xf,0x18,0x9b,0xe7,0x7f,0x92,0xe3,0x50,0x5a,0x1,0x27,0x4c,0x78,0xe4,0xd1,0xac,0x43,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x4d,0xc5,0xc,0xf5,0xff,0x7f,0x1c,0x9d,0xee,0x32,0x91,0x98,0xd8,0x32,0x1f,0x95,0x8c,0x5b,0xdb,0x5c,0xd3,0x8e,0x56,0x37,0x4e,0x1a,0x8b,0xf,0x6d,0xd5,0xce,0x5,0xa1,0xae,0x38,0x30,0x62,0xfd,0x7d,0xc0,0x80,0xa,0x45,0x36,0xa5,0x66,0xa0,0x1c,0x13,0x1,0xce,0xe3,0x11,0x32,0x7f,0xf2,0x34,0x9b,0x1d,0xb0,0x24,0xcb,0x89,0x35,0xd5,0xbc,0x73,0x47,0xdb,0x1,0xab,0xac,0xaa,0xf0,0x8d,0xa2,0xea,0xd,0x15,0x8,0x53,0x9e,0xb,0x42,0x81,0x55,0x9,0xb0,0xc6,0xf1,0xaa,0x4d,0x36,0x29,0x52,0xd1,0xc4,0xc9,0x71,0x74,0x8d,0xa7,0xcf,0x3f,0xfd,0x1f,0x18,0x4d,0x4b,0x4e,0x48,0x14,0x80,0x4e,0x1c,0x5b,0xa2,0x9f,0xd7,0x11,0x9f,0xb,0xc2,0xb,0xc8,0xd8,0xdd,0xd9,0xe2,0x55,0x3d,0x7d,0x27,0x2,0x0,0xa5,0xa4,0x93,0x7c,0xa7,0x6e,0x1,0xd5,0xe0,0x9f,0xa7,0x1f,0xfe,0xa,0xd0,0xf7,0x3b,0xa9,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xf4,0xce,0xf4,0xff,0x58,0x4d,0x50,0xf3,0x40,0x3b,0xbb,0x2,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82 -}; - - -static const unsigned char font_normal_png[]={ -0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x8,0x4,0x0,0x0,0x0,0xf6,0x7b,0x60,0xed,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xb,0x4,0x13,0x15,0x34,0x44,0xfe,0xef,0x82,0x0,0x0,0x15,0x5f,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x31,0x68,0x24,0x49,0x77,0xc7,0xdf,0x7d,0x13,0x8c,0x61,0x82,0xe1,0x43,0x86,0x9,0x14,0xc8,0xb0,0x81,0x82,0xc5,0x88,0xf,0x5,0x32,0x28,0x50,0xa0,0x40,0x81,0x2,0x61,0xc4,0x87,0xe,0x74,0x66,0x2,0x19,0x64,0x50,0xb0,0x86,0xd,0x2e,0xd8,0x40,0xc1,0x6,0x1b,0xac,0x41,0xc1,0x1a,0x84,0x51,0x20,0x83,0xc,0xfa,0x40,0x98,0x9,0x36,0x50,0x20,0x8c,0xc,0xa,0x14,0x28,0x98,0x40,0x81,0x2,0x19,0x26,0x98,0x60,0x2,0x5,0x63,0x50,0x30,0xc1,0x4,0x3f,0x7,0x5d,0x53,0x5d,0x55,0xdd,0xd3,0xd2,0x6a,0xf7,0xcc,0xde,0xdd,0xff,0xdf,0xdc,0x9d,0xba,0xbb,0xba,0xa7,0xbb,0xfa,0xd7,0x55,0xef,0xbd,0x7a,0xd5,0xf7,0x3,0x26,0xfd,0x9e,0xf5,0x7,0xf7,0xdf,0x98,0x83,0x96,0x75,0xac,0x15,0xac,0xaf,0x5b,0xc7,0x36,0xed,0x24,0x39,0x76,0xd3,0xce,0xa2,0xf5,0x33,0xdb,0x2c,0x9c,0x3f,0x2d,0x53,0x3c,0xd3,0x73,0x8e,0x4a,0xaf,0xa7,0x78,0x9e,0x35,0xbb,0x31,0xec,0x31,0xd8,0x12,0x9e,0xf7,0xa1,0xf0,0xb,0xc5,0x33,0xc6,0xbf,0x19,0x1e,0xdd,0xb5,0x85,0x8a,0xeb,0x4b,0xcf,0x94,0x5e,0xfb,0x6b,0xeb,0xba,0xbf,0x9a,0x36,0xb0,0xa6,0xab,0x6d,0x7c,0x8d,0x6f,0xdb,0xa3,0x99,0x99,0x9d,0xda,0xb6,0x3f,0x66,0xdb,0x4e,0x93,0x73,0xe7,0x47,0x3c,0xfa,0x72,0x93,0x5f,0x9a,0x5c,0x2b,0xc9,0x93,0xdc,0xb6,0xe3,0xe0,0x9c,0xd9,0x9d,0x98,0xbf,0x9a,0xc9,0x71,0xd9,0x99,0x1,0xb,0x96,0x43,0x16,0x38,0xc,0xd6,0x4f,0xd9,0xa4,0xc3,0x7a,0x54,0xc6,0x38,0x63,0x33,0x5a,0xdf,0xe4,0x2c,0x29,0x51,0x2c,0x53,0x3c,0xd3,0x73,0x8e,0x4a,0xaf,0x27,0x3d,0xcf,0x2a,0x7d,0x56,0xa9,0xd1,0xa,0xce,0x1c,0x9e,0x97,0xc2,0x2f,0x14,0xcf,0x18,0xff,0x66,0x78,0xf4,0x5b,0x3e,0x56,0x5c,0x5f,0x7a,0xa6,0xf4,0xda,0x3f,0xf0,0xd6,0xfd,0xd5,0x64,0x40,0xb3,0x70,0x4d,0x17,0xcc,0x61,0x18,0xcb,0xc,0xdd,0xde,0x26,0x43,0x96,0x93,0x73,0xe7,0x77,0x30,0xc7,0x45,0xf2,0x4b,0x93,0x6b,0x25,0x29,0x79,0xcb,0x2,0xdd,0xc2,0x9d,0x27,0xf7,0x68,0x18,0x6b,0xdc,0x1,0x23,0x7f,0xe2,0x5f,0xdf,0x72,0xc5,0x46,0xe5,0x7e,0xbe,0xea,0xec,0xb3,0xf4,0xa8,0xbd,0xf8,0xe8,0x1e,0xb3,0x95,0xd7,0x74,0xe9,0xb7,0x9c,0x38,0x54,0xde,0x72,0x52,0x79,0x7,0x97,0x95,0x77,0x99,0x97,0xdc,0x80,0xa4,0x5e,0x36,0x20,0xc1,0xd3,0xc,0xe3,0x81,0xd,0x8c,0x3a,0xaf,0x2b,0xa,0x7e,0xf9,0x96,0xb,0x4f,0xfe,0xcf,0xe,0xad,0x47,0x16,0xb,0x37,0xb4,0xcd,0x1d,0x70,0xcf,0xb6,0xdf,0xf3,0x92,0x2d,0x63,0xea,0x53,0xaa,0x6b,0x52,0x29,0x3,0xe0,0x8a,0xf9,0xa9,0xfb,0xd3,0xf5,0x89,0x26,0xf7,0xb2,0x1a,0x94,0x8,0xf7,0xc5,0x6b,0xf7,0xbc,0xc2,0x78,0x15,0xbc,0x77,0xab,0xd1,0x6b,0x45,0x25,0x0,0x6b,0x5c,0x63,0x18,0xd7,0xac,0x15,0x4a,0x95,0x1,0x50,0x7e,0x17,0xf9,0xd6,0xe,0xc7,0x9c,0x46,0xf5,0x72,0xc2,0x39,0x9d,0xf8,0x1a,0xc,0x63,0xc8,0x42,0xc2,0x52,0x5a,0xf0,0x25,0x5b,0x5e,0xd3,0xa7,0x81,0xd1,0xe4,0xc1,0xa1,0x5,0xf7,0xc9,0x23,0xd8,0xe4,0x9e,0x25,0x8c,0x25,0xee,0x7d,0x73,0xf6,0x92,0x2d,0x4f,0x3,0x30,0x43,0x8d,0x1d,0xfa,0xee,0x4d,0x7e,0x1a,0x80,0xb8,0x3e,0xb6,0x83,0x77,0x92,0x8a,0xb6,0xe5,0x3d,0xef,0x30,0xde,0xf1,0xce,0x6f,0x39,0xe,0xb0,0x2d,0x3,0xa0,0xc9,0x8d,0xdf,0xd2,0xe4,0xd1,0xbd,0x28,0xcd,0x4a,0x0,0x6e,0xdc,0xfe,0xf2,0xab,0x3e,0x76,0xdb,0x1a,0xf4,0x93,0x4e,0xa7,0xc1,0x88,0x39,0x86,0xcc,0xa4,0x0,0xac,0xd3,0xe3,0x53,0x65,0xc1,0x97,0x6d,0x39,0x60,0x1f,0xe3,0x3d,0x7,0xfe,0xe7,0xd6,0xb9,0xa3,0x15,0x5c,0xec,0x8d,0x67,0x7d,0xcd,0x55,0xc4,0xd7,0x6e,0xa9,0x7e,0xc3,0x6f,0x58,0x7a,0x11,0x0,0x75,0x6,0x34,0x9e,0x1,0xc0,0x22,0x57,0x18,0x77,0xbc,0xa,0x8e,0xab,0x57,0x2,0x70,0xc9,0x7e,0x45,0x23,0x5e,0xe,0xc0,0x7,0xd7,0x6,0x54,0x5f,0xf5,0xe,0x47,0x18,0x47,0xec,0xf8,0x2d,0x6d,0xae,0x30,0x3a,0xc1,0x16,0x7,0x80,0x51,0xa3,0xcd,0xad,0x33,0x3c,0xca,0xa,0xbe,0x6c,0x4b,0x93,0x7b,0x56,0xb8,0xf7,0x68,0x81,0xb1,0xc5,0x25,0x35,0x7f,0xb1,0xf9,0x9b,0x5b,0x67,0xfc,0x15,0x5b,0xb6,0xb8,0x67,0x5,0xa3,0xe9,0x9a,0xea,0xaf,0x7,0x20,0xec,0x0,0xe2,0x37,0x39,0xde,0x97,0x96,0xec,0xb3,0xe2,0x1a,0xf2,0xac,0xe5,0x38,0x9e,0x8a,0xcb,0x2f,0xd5,0x2,0xe4,0x1d,0xc5,0xa,0xc6,0x72,0xd0,0xc5,0x5c,0xf0,0xe,0x63,0x87,0xab,0x22,0x0,0x59,0x93,0x3d,0x98,0x5a,0xf0,0x65,0x5b,0x8c,0x4d,0x46,0x81,0x55,0x90,0x5d,0xe0,0x3b,0x3e,0x7d,0x73,0x0,0x8c,0x5d,0x6,0xc0,0x83,0x6b,0xaa,0x8b,0x55,0xb3,0x88,0xb1,0x49,0xdf,0x1d,0xf9,0xa5,0x2d,0x40,0xd8,0x97,0x53,0x69,0x5e,0x1e,0x70,0xc7,0x9b,0xa0,0x4e,0x56,0x9f,0x0,0xe0,0x97,0xb2,0x1,0x66,0x3,0xeb,0x64,0x76,0xca,0x16,0xf,0xc0,0x2a,0x4d,0x8c,0x35,0xc7,0xdf,0x73,0xe,0x7d,0xde,0xe9,0xa7,0xdd,0xf2,0x29,0x5b,0xdf,0xb8,0xb,0x30,0x8c,0xfd,0xa0,0xe7,0x7d,0x74,0x1d,0xd1,0x8c,0xbb,0x27,0xb8,0x81,0xa0,0x8d,0x4b,0xf7,0x17,0xcb,0x4f,0xb7,0xe6,0xab,0x1,0x58,0x9,0xee,0x7f,0x96,0x5e,0x85,0x2d,0xff,0x3c,0x2f,0xe0,0xa5,0x0,0xbc,0xe3,0x83,0xb7,0x4b,0x7e,0x76,0x5b,0xf2,0x17,0xfc,0xe7,0x18,0x80,0xe,0x23,0xa0,0xe7,0x5c,0x86,0x62,0xc1,0x97,0x6d,0x99,0x7e,0xcb,0xd,0xae,0xbe,0xb1,0x11,0x68,0x18,0xaf,0x18,0x6,0x51,0x82,0x63,0x1a,0x34,0xbc,0x15,0x9c,0x3e,0xa6,0x74,0xff,0x53,0xe5,0x43,0x7f,0xbe,0xa,0x80,0x3a,0x3b,0x9c,0x7,0xf1,0x83,0xf,0xc1,0xbe,0x1a,0xcb,0x3c,0x94,0x1c,0x59,0x15,0x7,0x28,0x3,0x60,0xae,0xa4,0x2d,0x2a,0x2,0xd0,0xf5,0x86,0xfd,0xbc,0xf3,0x49,0xba,0xbe,0x3b,0xda,0xb,0xa3,0x3,0xc5,0x1b,0x29,0x16,0x7c,0xd9,0x96,0xe9,0x0,0x18,0xaf,0xdd,0x9b,0xf6,0xad,0xdc,0xc0,0xcc,0x99,0xdd,0xf5,0x7f,0xb7,0x38,0x63,0xc4,0x88,0xb3,0xc8,0xe4,0xb4,0xa9,0xfb,0x8b,0xe5,0x8b,0x56,0xc0,0x6b,0x77,0x5f,0x55,0x6e,0x60,0xdf,0x39,0x82,0x93,0x9a,0x7c,0x1d,0x1c,0x3f,0xe0,0x81,0x76,0x64,0x39,0x4c,0xee,0xe5,0xd1,0x41,0x18,0xde,0xdf,0x69,0x1,0x80,0xc9,0x11,0x8f,0x81,0x35,0x52,0xed,0x6,0x3e,0x6b,0xf9,0x81,0x49,0x28,0xf8,0x7,0xc5,0xc5,0x7f,0x67,0xda,0xb4,0x1f,0xed,0xcf,0x93,0xb1,0x0,0x3d,0xfe,0xdf,0xaa,0x1e,0xa6,0x8e,0xa1,0xfc,0x68,0x7f,0xc9,0x7,0x83,0x8a,0x8a,0x7,0xe,0xd2,0xf5,0x19,0x3b,0xb4,0xbe,0x61,0xd8,0xc0,0x6f,0x63,0x6a,0xe9,0x70,0x6d,0xd7,0x86,0x36,0xb6,0x73,0xb7,0xb6,0x63,0x97,0xb6,0x93,0x94,0xa9,0xd9,0xa6,0x3f,0xeb,0x86,0x75,0xfc,0x59,0x6e,0x6c,0x6c,0x6d,0xbf,0x96,0xef,0x99,0x56,0x7e,0xc6,0xe,0xac,0x6f,0xd8,0x83,0x1d,0xd9,0x5c,0x70,0x6d,0x7,0xb6,0x67,0x9f,0x5c,0x25,0xbc,0xb6,0x1b,0xc3,0x6,0xee,0x1a,0x72,0xf5,0x4b,0x2a,0xef,0xe1,0x89,0x1,0xa5,0xe9,0x43,0x44,0xe9,0x80,0x57,0x58,0x32,0xde,0x17,0xf,0x72,0x55,0xfd,0x42,0x78,0x5c,0xc3,0xe,0xed,0xda,0x2e,0xfd,0xbd,0x87,0x67,0xf9,0xeb,0xe8,0x97,0x7f,0xb2,0xff,0xb0,0x9f,0xec,0x2f,0x66,0x66,0xf6,0x67,0xfb,0xcf,0xc9,0x60,0x50,0x59,0x9f,0x5a,0xbd,0x5c,0x6,0xbd,0xe0,0x97,0x45,0xdc,0x1f,0x7d,0x34,0xd0,0x30,0x46,0xb4,0x19,0x25,0x25,0xe6,0xb8,0x76,0xe7,0x6a,0x70,0x17,0xf8,0x14,0xb3,0x6c,0xf1,0xd9,0x1b,0x92,0xf9,0x9e,0xf2,0xf2,0x33,0xdc,0xf1,0x9e,0x39,0x8c,0x16,0xfb,0xf4,0x83,0xbe,0x79,0x87,0x5b,0x6f,0x3c,0x76,0xd9,0xa3,0xc6,0x52,0xe1,0x1a,0x78,0x86,0xc5,0x5f,0x35,0xc,0x14,0xef,0x4b,0x7,0xbc,0xc2,0x92,0xf1,0xbe,0x78,0x90,0xab,0xea,0x17,0xc2,0xe3,0x8e,0x22,0xc3,0x3b,0x3e,0xb,0xd5,0x23,0x24,0xd3,0xac,0xea,0x14,0x89,0xf2,0x50,0x49,0xbe,0xde,0xe2,0x92,0x3b,0x2e,0xdc,0x45,0xc5,0x31,0xf1,0xd8,0x50,0xba,0xe0,0x67,0x1f,0x55,0x33,0x76,0xb8,0xf4,0xa1,0xa3,0xa2,0xc1,0x78,0x10,0xf8,0xd4,0xd9,0xd6,0x5d,0xef,0x6f,0xbf,0x29,0x79,0x38,0xe1,0xd6,0x23,0xf6,0x58,0xa3,0x7,0xdc,0x63,0xbc,0x8d,0xc2,0xd6,0x9b,0xde,0xd1,0x82,0x1a,0xc6,0x6a,0x12,0xd4,0x7e,0x1e,0x0,0xdf,0xcf,0xf2,0x18,0xd4,0x68,0xf1,0x31,0xdf,0x0,0x57,0xfe,0xc5,0xe8,0x31,0x76,0xb8,0x78,0x0,0x8a,0x7e,0x75,0x11,0x89,0x14,0x80,0xfb,0x4,0x80,0x4e,0xc4,0x60,0x1c,0x13,0x4f,0x43,0x94,0x5d,0x7a,0xde,0x1e,0xae,0xf2,0x92,0x17,0xb9,0x8e,0x46,0xe1,0x5a,0x6c,0x39,0x17,0x28,0xdd,0x53,0x56,0xbe,0x4f,0x83,0x21,0x6b,0x6e,0x5f,0xc3,0xd9,0xda,0xf3,0xdc,0x2,0xd7,0xde,0x69,0x5,0x63,0x8f,0x8f,0xfe,0xb8,0x59,0xae,0x5c,0x95,0x65,0x7b,0x7b,0x41,0xfc,0x0,0x17,0x6f,0x38,0x28,0x71,0xd0,0xe2,0xb5,0x16,0x17,0x40,0x2f,0x3a,0xae,0x7c,0x5f,0xba,0x76,0xd,0x5c,0x7b,0xdf,0xe4,0xb9,0x6b,0xa3,0x8,0x80,0x1b,0x1e,0x81,0x3b,0xff,0xeb,0x8b,0xd4,0xd8,0xf7,0xee,0xe9,0xc,0x73,0x61,0xb4,0xa3,0x3c,0xb2,0x56,0x44,0x22,0x5,0x60,0x99,0xdb,0xe8,0xd6,0xe3,0x4b,0x88,0x63,0xe2,0x31,0x0,0x43,0x9a,0x81,0x1b,0x98,0xf3,0x98,0x2,0x50,0xe3,0x9a,0x45,0x8c,0xb6,0xdf,0xde,0x63,0xc4,0xe,0xe6,0xf6,0xb4,0x4b,0xcb,0x9f,0xd1,0x77,0x70,0xf5,0x98,0x73,0x81,0x98,0xc,0x80,0xb1,0x8f,0x57,0xd6,0x58,0x8b,0x1e,0xca,0x63,0x90,0x45,0x70,0xce,0x3e,0x35,0x16,0x83,0x41,0x24,0x63,0x97,0x5b,0x5f,0xf6,0x4d,0x30,0xb2,0x31,0x1d,0x80,0xe,0x5b,0x18,0xab,0xc1,0x71,0xd3,0xf6,0xa5,0x6b,0xef,0xa8,0xf3,0xce,0xb5,0x47,0xcf,0x5f,0xfb,0x9c,0xc4,0x5e,0x1a,0xc9,0x55,0x67,0x23,0x35,0xd9,0xeb,0xf7,0xc0,0x63,0x78,0xcd,0xcf,0xd,0xb6,0xf2,0xc4,0x40,0xcb,0x28,0x69,0x84,0xc2,0x98,0x78,0xec,0x53,0x3f,0xb0,0xc4,0xac,0x7f,0x3,0x73,0x1e,0x53,0x50,0xb2,0xaa,0x9e,0xe5,0xb4,0xd0,0xf4,0xbe,0xe1,0xa0,0x64,0x7b,0x56,0x7e,0x91,0xa6,0xbb,0xd5,0x3e,0x75,0x86,0xac,0x50,0x7,0x1a,0xec,0xbb,0xb6,0x63,0x9c,0x4,0x83,0xc1,0x58,0xe1,0x9c,0x7b,0xf7,0xbe,0x4c,0xee,0x23,0xbc,0xb7,0x9a,0x5f,0x7b,0xeb,0x1f,0x7f,0x35,0x0,0xa3,0x24,0x56,0x30,0x7d,0x5f,0xba,0xd6,0x8,0x1e,0xd6,0xf3,0xd7,0x5a,0x9c,0xd3,0xe5,0xc2,0xe1,0x90,0x5e,0x75,0x8,0xc0,0x23,0xb,0xd4,0x53,0x0,0xc2,0xf7,0xfd,0xea,0x85,0x0,0x7c,0x4e,0xcc,0x90,0x30,0x26,0x1e,0x3f,0xa8,0x75,0xee,0xe9,0xbb,0x8e,0x25,0xe4,0x31,0x2e,0x37,0xcb,0x1d,0xd,0x8c,0x53,0xff,0x36,0xc6,0x7b,0xd2,0xed,0x93,0xf2,0xc6,0x1,0x7b,0x2e,0xb0,0xba,0xcb,0x6,0x7d,0x6,0x1c,0x1,0xb7,0xce,0xf4,0xcc,0x6,0x5a,0xe6,0xb9,0x4b,0x7e,0x73,0xd5,0x45,0xe9,0xca,0x0,0xc8,0xd7,0x36,0x82,0x4,0xb,0x22,0x94,0xe2,0xb5,0x51,0x30,0x26,0x5a,0xbd,0x2f,0x5d,0x7b,0x19,0x0,0x59,0xa7,0xfc,0xf3,0x14,0x34,0xeb,0xd4,0x39,0x74,0x70,0x3c,0xb2,0x10,0xa3,0x91,0x19,0x7c,0x93,0x1e,0xff,0xce,0xd,0x5e,0x14,0xbb,0x80,0x34,0x5a,0x9e,0x56,0x52,0x8b,0xb,0xee,0x82,0x7c,0x80,0x95,0x78,0xc8,0x21,0x5a,0x6a,0xec,0xf9,0xb3,0xe6,0x3c,0xc6,0xe5,0x3a,0xae,0xaa,0x8b,0x11,0xb9,0x6c,0x4f,0xba,0x7d,0x52,0x7e,0xdf,0x9b,0x94,0x73,0xf4,0x78,0x4b,0xb,0x73,0xfd,0xe4,0xa4,0xdc,0x7b,0x6a,0x7c,0x8c,0x1a,0xf2,0x5,0x6a,0x2c,0xba,0xfb,0xea,0x70,0x48,0x3d,0x7e,0x47,0xa2,0x3b,0x9d,0xf7,0xd5,0x9c,0xf9,0xf,0xd,0x1f,0x7a,0xd,0xd7,0xce,0x38,0x66,0x6,0x73,0xd0,0x55,0xed,0x8b,0xd7,0x5e,0xda,0x5,0x64,0x35,0x3e,0x2a,0x5,0xa0,0xcb,0x98,0x31,0x1d,0x57,0xb,0xbb,0x3c,0x32,0xf6,0xf8,0xfb,0x50,0xf0,0x5b,0x97,0x31,0xb3,0xea,0xad,0xe4,0xd4,0x8,0x4c,0xa3,0xe5,0xd3,0x47,0xd2,0x8a,0x31,0xf1,0x18,0x80,0x5,0x6a,0xbc,0xa,0x1a,0xa4,0x5a,0x29,0x0,0xcf,0xb1,0xbe,0xcb,0xb6,0x8f,0x2,0x2c,0xe6,0x38,0x61,0xe8,0xbc,0x80,0xdc,0x90,0xbc,0x6,0xce,0xa3,0x21,0xea,0x6b,0x60,0xe0,0xc0,0x69,0xd1,0x61,0xcc,0xd8,0xfb,0x2f,0xc5,0x3b,0x5d,0x72,0x11,0xfe,0x65,0xee,0x80,0x47,0x87,0x72,0xbc,0xd6,0xe2,0x94,0x47,0x70,0x9d,0x60,0xd5,0xbe,0x74,0xed,0x65,0x46,0xa0,0x61,0x7c,0xa,0x2,0xcd,0x5f,0xe0,0xb5,0x58,0x90,0x42,0xb8,0x1f,0xf8,0xca,0xa9,0x1b,0x98,0x46,0xcb,0xab,0x1,0x88,0x63,0xe2,0xb1,0x1b,0x78,0x9,0xc,0x9d,0x3b,0x17,0xf3,0xf8,0xfd,0xba,0x59,0xbf,0xe1,0x25,0xec,0x45,0x4f,0x78,0x70,0x23,0x53,0x5a,0x7e,0x4b,0xcb,0x1a,0x37,0xc0,0x63,0x79,0xae,0xc4,0xaf,0xe5,0x26,0xda,0xdc,0x3,0x7d,0xe,0xb8,0x70,0xcd,0x77,0x9b,0x7,0x37,0xbe,0xb6,0x19,0xf4,0x84,0x8b,0x9c,0x33,0x62,0xc4,0x79,0x90,0x80,0xda,0x3,0x60,0xc0,0x49,0x30,0x3a,0x57,0x2c,0x87,0xef,0xfe,0x4e,0x7d,0xe6,0x20,0x49,0xeb,0x95,0xc7,0xe8,0x36,0xdc,0x6f,0x16,0xcf,0x5d,0x4c,0x86,0x3d,0xf1,0xd1,0xbc,0x43,0xf7,0x10,0xee,0x7d,0x73,0xbd,0x13,0xe4,0xc,0xc4,0x49,0xb5,0x65,0x29,0xb4,0xeb,0xdc,0x70,0x1b,0xc5,0x6b,0xd3,0x96,0x3a,0xbb,0x9e,0x7,0x8e,0x7d,0x4b,0x9d,0xa6,0xcc,0x7f,0x11,0x0,0x79,0xe8,0x71,0xd9,0xfd,0xd0,0xa4,0x9f,0x6c,0x39,0x97,0xce,0x4a,0x72,0xde,0xbb,0x85,0xfc,0xf3,0xb8,0x1a,0x1f,0xd2,0xd4,0x64,0x36,0xdc,0x99,0x48,0x6e,0x6e,0x72,0xb1,0x5b,0xdc,0xb1,0x88,0xb1,0xcc,0xd8,0x3f,0xec,0x47,0x16,0x58,0xe0,0x91,0x66,0x10,0xfe,0x5d,0x64,0xc0,0x36,0xd,0x1a,0x6c,0x33,0x48,0x1e,0xed,0x2c,0x6f,0xfc,0xb6,0xb2,0x72,0x24,0x8f,0xdf,0x4a,0x7d,0x93,0xae,0x4b,0x74,0xbd,0x8d,0xd2,0x43,0xc2,0x73,0x17,0x93,0x61,0x1b,0x2e,0xd7,0x62,0x83,0x9e,0xf3,0x31,0xde,0xfb,0x48,0x64,0x27,0x70,0x2c,0xe3,0xa4,0xda,0x62,0xa,0x6d,0x96,0xbf,0xbd,0x16,0x58,0xfe,0xd3,0x2,0x76,0x2d,0xde,0xfb,0xcc,0xac,0x34,0x65,0xbe,0x14,0x80,0xfc,0x91,0xc6,0x51,0xe6,0xfc,0xaf,0x1e,0x3b,0x98,0x7b,0xc4,0x65,0xd3,0x15,0xa6,0x3,0xf0,0x8a,0xfd,0xa4,0x77,0xbf,0x70,0x11,0xc2,0x9a,0x4f,0x11,0x9d,0xbc,0x2b,0x3,0x2e,0xbd,0x5b,0x34,0xc3,0x85,0x8f,0x16,0xdc,0xb0,0x8a,0x51,0xe3,0x8c,0x8f,0xf4,0x13,0x0,0x3e,0x5,0xe1,0xdf,0x73,0xda,0xec,0x30,0xe2,0x1a,0xa3,0xed,0xcd,0x50,0x2,0xa4,0xae,0x7c,0xb9,0x21,0x30,0x60,0xc3,0x97,0x3,0x63,0xb7,0x30,0x5,0x24,0xb5,0x4c,0xda,0x1c,0x26,0x19,0x82,0xe9,0xb9,0x8b,0xc9,0xb0,0xc6,0x12,0x3,0x96,0x2,0x24,0x5f,0xf1,0x40,0xcd,0xb9,0x71,0x8b,0x53,0x92,0x6a,0x8b,0x29,0xb4,0x46,0x9f,0x19,0x56,0x3,0x33,0x7c,0x7a,0xc0,0x2e,0x37,0xad,0x9f,0xc8,0x98,0x2e,0x1b,0x74,0x38,0x2b,0xbc,0xa1,0xd3,0xc,0xb4,0xa7,0xcd,0xb6,0x3a,0x87,0xc1,0xc5,0x4c,0x2a,0xe8,0xcc,0xbd,0xd7,0x43,0x87,0xc2,0xa9,0xab,0x78,0x58,0xb,0x9a,0xcb,0x95,0xe0,0x26,0x6a,0x18,0x1f,0xd9,0xb,0x7e,0x33,0xeb,0x2,0xe,0xa3,0xf0,0xef,0x88,0x6,0x8f,0x2c,0x30,0x13,0xf8,0xc8,0x61,0xdb,0x33,0x89,0x6a,0x8c,0x9c,0x53,0xb6,0xc8,0x20,0x28,0xf7,0x26,0x78,0x64,0xd3,0xef,0xf1,0xac,0xc4,0x13,0x8a,0xf3,0x13,0xd3,0x64,0xd8,0x2c,0x63,0x8a,0x28,0x52,0x72,0xc3,0x3a,0xc6,0x76,0x90,0xd2,0x96,0x26,0xd5,0x16,0x53,0x68,0x8d,0x77,0xdc,0xbb,0x28,0x87,0x55,0xc6,0x6b,0x5a,0xbc,0xf7,0x61,0xb8,0x67,0x1,0x30,0x7d,0x56,0x4b,0x3e,0x70,0x10,0xe7,0xc2,0x56,0xe5,0xfb,0x84,0xcb,0x47,0xe6,0xa,0x47,0x6f,0xbb,0x20,0x65,0x97,0x35,0x97,0x36,0x7d,0xeb,0x1b,0xb0,0x26,0x17,0xbc,0xc6,0x78,0xcd,0x45,0xe4,0x20,0xd6,0xd9,0xe5,0x53,0x54,0xcd,0xe6,0x82,0xc2,0x9f,0xbc,0x2d,0x90,0x3,0xd0,0x8a,0x82,0x24,0xc5,0x87,0x94,0x1,0x0,0xb0,0x17,0x0,0x30,0x2e,0x1d,0xd,0x4d,0x7,0x84,0xca,0x6b,0x22,0xbe,0xb2,0x38,0x19,0x36,0x6b,0xf4,0x47,0x51,0x2,0xf8,0x1e,0xa7,0x18,0x9d,0xe0,0x71,0xa6,0x49,0xb5,0xc5,0x14,0xda,0x3d,0xe,0xd9,0xe3,0x80,0x9a,0x6f,0x5,0xcb,0x0,0xc8,0x74,0xe5,0x5b,0xf4,0x34,0x65,0x3e,0x89,0xe8,0x14,0x23,0xf2,0xe1,0xdf,0xc9,0xc0,0x41,0x65,0xaa,0x62,0x19,0x0,0x5b,0xee,0x6,0x49,0x3a,0x5,0x68,0xd0,0xe6,0x33,0x46,0x87,0x37,0xd4,0xc1,0x79,0x1f,0x30,0xc7,0xa,0x1d,0x8c,0xe,0x2b,0xcc,0xf9,0xe3,0x6e,0x39,0xa0,0x43,0x2d,0x49,0x3,0xcd,0xc2,0xbf,0x93,0xae,0x60,0xd2,0xb4,0xef,0x32,0xe2,0xee,0x19,0x5d,0x0,0x2e,0xf5,0x2a,0xef,0x2,0x56,0xb8,0xe6,0xa8,0x30,0x9,0x8c,0x27,0x7,0xad,0xd2,0x2e,0xa0,0x78,0xd4,0x1a,0x7d,0x16,0xe8,0x7,0x8f,0xa2,0xc9,0x90,0x39,0x9f,0x5,0x58,0x96,0x54,0x5b,0x4c,0xa1,0x1d,0x51,0xc7,0x78,0xc3,0x35,0x9f,0x9e,0xe8,0x2,0x96,0x3,0xfb,0x61,0x33,0x49,0x99,0x4f,0x22,0x3a,0xc5,0x88,0x7c,0xfe,0x77,0x61,0xe0,0xe0,0x99,0x0,0xe0,0x1f,0xf4,0x63,0x49,0x24,0x2f,0xeb,0xeb,0x57,0xdc,0x65,0x2d,0x31,0x60,0xd5,0x5b,0xc2,0x19,0x8,0x97,0xec,0x73,0x89,0x5,0x0,0x1c,0x30,0x62,0x9,0x63,0x91,0x7b,0xb6,0x92,0xf0,0x6f,0x8,0xc0,0xd7,0x1a,0x81,0x35,0xf6,0x39,0xab,0x30,0x2,0xa7,0xb5,0x0,0xe1,0xb9,0xcb,0x4c,0xc7,0x7,0x56,0x30,0x56,0x18,0x4,0xd9,0xd,0x27,0xdc,0x4,0xd9,0xbf,0xc5,0xa4,0xda,0x62,0xa,0x6d,0x36,0xcc,0xb5,0xc4,0xd0,0x77,0x55,0xd3,0x47,0x6d,0x97,0xe9,0x79,0x4,0x32,0x4f,0x61,0xe8,0x3a,0xae,0x24,0xa2,0x93,0x3e,0xe8,0xf0,0xef,0xc2,0xc0,0xc1,0xb3,0x0,0x68,0x3a,0x8b,0xbe,0xc1,0xe5,0xd4,0x60,0xf0,0x31,0xf7,0x3e,0xb9,0xf9,0x92,0x7b,0x9f,0x50,0xa,0xcb,0x2e,0x8c,0xbc,0x82,0xb1,0xe0,0x27,0x4f,0x9c,0x73,0x40,0x1f,0x2,0xf7,0x29,0xf,0xff,0xb6,0x83,0x2e,0xe0,0xdb,0xb8,0x81,0xc7,0x5f,0xd0,0x2,0x94,0x9d,0x3b,0x2d,0xf3,0xd9,0xbf,0xb1,0x7,0x3e,0xa1,0xc5,0x58,0x2,0x37,0x4d,0xa5,0x3c,0xa9,0xb6,0x98,0x42,0xbb,0x4c,0xf,0xb8,0x61,0xde,0x99,0x99,0xd5,0x79,0x1b,0xed,0x30,0xe0,0x5b,0x1d,0x8,0xa,0x1f,0x74,0xfa,0x77,0xad,0x12,0x80,0x71,0x14,0xef,0x9b,0xb8,0x74,0xe7,0xee,0x21,0x6f,0x4d,0x7d,0x6f,0xb6,0xdc,0x23,0x9e,0x54,0xc4,0xa6,0x2f,0xb7,0x92,0xe4,0xd8,0x2b,0x8c,0xf3,0xff,0x10,0x9,0xc,0x1f,0x74,0xf8,0x77,0x18,0xa8,0x2d,0x7,0xe0,0x20,0x18,0x6,0xce,0xfb,0xac,0xb6,0xaa,0xf5,0xbb,0x5a,0xe6,0xdd,0x8c,0x89,0xae,0x77,0xd1,0xc9,0xdd,0xf5,0xf4,0x41,0x17,0x46,0x8b,0xbe,0x93,0xe5,0x80,0x1,0x70,0xe7,0x82,0x1a,0x4d,0xce,0x83,0x21,0x9d,0x1d,0x7a,0xc0,0x5d,0x60,0x62,0xb5,0x23,0x8b,0x24,0x6c,0x7b,0x16,0xb9,0xf2,0x13,0x48,0xe2,0x76,0x69,0x8d,0xdb,0x60,0x7a,0xcc,0xbc,0x4b,0xa4,0x6a,0x5,0xb1,0x8d,0x2e,0x4f,0x4f,0x10,0xb7,0x8a,0x2c,0x81,0xb4,0x3d,0xb,0xcf,0xb9,0xca,0x2d,0xf0,0xe8,0x2,0x41,0x37,0x8c,0x82,0x11,0xbc,0x6c,0x80,0x6a,0x14,0x98,0xbf,0x5d,0x1f,0x18,0xa,0x3b,0xc4,0x71,0xd0,0x15,0xe6,0xe7,0x5e,0x67,0x50,0xf8,0xe5,0x4,0x80,0x5f,0x76,0xa9,0x32,0xa2,0xe2,0xdc,0xc1,0xc9,0x8d,0x5e,0x97,0x54,0xd0,0x1a,0x2d,0x8c,0x75,0xf7,0xf0,0xe,0x38,0xa4,0xce,0xa1,0x33,0x86,0xf6,0x59,0xc4,0xd8,0xf2,0xce,0xd1,0x1c,0xfd,0x60,0x44,0xf0,0x9e,0x78,0xfe,0xe3,0x66,0x92,0xba,0xb2,0xe3,0xce,0xf2,0xc0,0x2a,0xc6,0x9a,0xfb,0x85,0x6b,0xf6,0x9c,0x49,0xf8,0xf4,0x1d,0x3d,0xfd,0xb1,0x86,0xa7,0xa7,0x6c,0x64,0xdf,0x68,0x68,0xfa,0x34,0xae,0x70,0xc,0x3f,0x1e,0xa2,0xb6,0x8,0xc5,0x78,0x94,0x75,0xa3,0xe4,0xd5,0xbd,0xa,0x5e,0x87,0x12,0xdb,0xed,0xcb,0x1e,0x21,0x53,0xe2,0xcd,0x1b,0xdc,0x0,0x43,0x6f,0xd5,0x2e,0x71,0xf,0xde,0x31,0xc9,0xbe,0x3e,0x32,0x1f,0xc5,0xd3,0x8e,0x4a,0x72,0x7,0x4f,0x39,0xa4,0xee,0xc7,0xcd,0x8b,0x4b,0x93,0x1d,0x67,0x3a,0x4e,0xc0,0xb9,0x8f,0xf6,0xe,0xfd,0xbb,0xb0,0x19,0xbc,0xf1,0xe1,0xf7,0x34,0x4e,0x82,0xb9,0xcb,0x13,0x40,0xba,0xce,0x97,0xee,0xb9,0xe4,0xac,0xbb,0x20,0x59,0x74,0x92,0x49,0x18,0xf,0xbe,0x7e,0x1b,0x0,0xe2,0x6c,0xc0,0x87,0x12,0x1f,0x22,0x4e,0xfe,0x28,0x37,0x47,0xe3,0xb6,0xa7,0xed,0xc3,0x68,0xa1,0x33,0x5f,0x7c,0xf0,0x3d,0x57,0xdf,0x1e,0x80,0x26,0x3,0x1a,0xbe,0x2,0xef,0x19,0x3,0x43,0x2e,0x93,0xa4,0xc6,0x34,0x5,0x64,0x12,0x6d,0x5a,0x65,0xc0,0x2a,0x46,0xcb,0x37,0xc2,0x37,0xec,0x60,0xde,0xb7,0x37,0x1a,0xbc,0x75,0xc1,0x9f,0xec,0x3d,0xbc,0x72,0x95,0x1e,0xe7,0xe,0x56,0x65,0xe3,0x64,0x37,0xdb,0x29,0x49,0xe8,0x9a,0x38,0x4b,0xe7,0xae,0xf1,0x5e,0xe1,0x3c,0x1a,0x3e,0x81,0xa1,0x1f,0xc4,0x7e,0xe0,0x3e,0x48,0x97,0xcc,0x4c,0xd5,0xd,0xf,0xf1,0x98,0x3b,0xff,0x51,0x95,0x3b,0x76,0x5c,0xc4,0xa2,0x98,0x7e,0x51,0x3d,0x41,0x3c,0xae,0xa9,0xda,0x54,0x0,0xe2,0x6c,0xc0,0x75,0xfa,0xdc,0xf2,0x31,0xaa,0x81,0x69,0x0,0x34,0x4b,0x42,0x5c,0x59,0x54,0x24,0x77,0x61,0x43,0xc7,0xbe,0x58,0x5f,0xa7,0x39,0x6,0x93,0xe6,0xe3,0xda,0xcf,0x7d,0xcb,0x67,0xae,0xb7,0x1d,0x12,0xd3,0x26,0x4f,0x4f,0x8c,0xc5,0xe2,0x17,0x7a,0x8,0xc2,0x8f,0xe9,0x8f,0xd7,0xb8,0x9,0xbe,0x48,0x12,0xe6,0xe,0x8e,0x2b,0x1,0x30,0x66,0xd8,0x73,0x2d,0x47,0xba,0xaf,0xc1,0x85,0x7f,0xa8,0xe7,0x2c,0x45,0x47,0xd5,0x78,0xcd,0xb1,0x1b,0x6b,0x80,0x57,0x18,0x3b,0xbe,0xa1,0x9c,0xd,0xda,0x90,0xb,0xb6,0x30,0xf6,0xa2,0x24,0x8e,0xfb,0x28,0x51,0x2c,0x8f,0x19,0x3e,0xbf,0x5,0x8,0x73,0x81,0x28,0x49,0x5d,0x9,0xd1,0x99,0xe5,0xd0,0xb9,0x89,0x71,0x26,0x6f,0x9c,0xa8,0x5a,0xe3,0xd4,0xc7,0xf,0xd3,0x33,0x36,0x7d,0xb7,0x16,0xa6,0xda,0x4d,0x4b,0x11,0xf1,0xa1,0x60,0xa,0x66,0x4d,0x56,0xa9,0x5b,0xae,0x7a,0xca,0xf7,0xcf,0xf2,0xc1,0x55,0x56,0x1a,0x6d,0x2e,0xc6,0x7,0xc2,0x16,0x60,0x3f,0xa,0x89,0x86,0xb9,0x83,0x17,0xbc,0xa7,0xc6,0xfc,0x54,0x0,0xf2,0xa9,0xd1,0x71,0x17,0x50,0x8b,0x46,0x2f,0xca,0x8c,0xb2,0xdc,0xb1,0x6d,0x44,0x3,0x25,0x6f,0x78,0x1f,0xc4,0xd5,0x6b,0x85,0xdf,0x6b,0xbb,0x77,0xfe,0x4b,0x1,0xc8,0x9d,0xe7,0x2e,0x30,0x2a,0x78,0xf6,0xc5,0x6c,0xc0,0x34,0xa0,0x1b,0xe6,0xf2,0xc7,0xa9,0xea,0xb1,0x7b,0x3d,0x6d,0x9e,0xc0,0x42,0x64,0x33,0xa4,0x75,0xd9,0x4d,0xc7,0x2,0xde,0xf0,0x81,0xbd,0x20,0x4f,0x2e,0xd3,0xd8,0x35,0xe9,0xe5,0x93,0x42,0x7a,0x1c,0xb9,0x86,0x35,0x7,0x80,0x29,0x4d,0xe4,0xc8,0x7f,0xa0,0x69,0x9e,0x6e,0x14,0x69,0xb,0x73,0x7,0x5f,0x71,0x5,0xdc,0x95,0xa6,0x59,0x2e,0xd3,0xc0,0x58,0x77,0xe1,0xd6,0xd8,0x8,0xfc,0x54,0x31,0x78,0xb5,0x44,0x9d,0x3a,0x7b,0xee,0x9d,0x3f,0x63,0x9f,0x9a,0x7f,0xcb,0x8d,0xcb,0x20,0x14,0x73,0x47,0x1b,0x63,0xd7,0xb7,0xe,0x75,0xd6,0xe9,0xbb,0xfd,0x69,0x17,0x60,0x15,0x41,0xdf,0x16,0xb5,0x92,0x60,0x4e,0x71,0x2d,0xce,0x6,0x5c,0xa7,0x85,0xb1,0xed,0xc,0xd9,0xaa,0x56,0x65,0xcc,0x2,0x75,0xd7,0x86,0xe,0x58,0xf1,0x5d,0x6d,0x38,0xa,0x1b,0xa7,0xda,0x3d,0x3,0x80,0x3,0xf6,0xf8,0x98,0x64,0xf1,0x36,0x79,0x57,0x88,0x1,0x94,0x5b,0xb3,0x79,0x44,0x9a,0xe8,0x7d,0x2b,0xbb,0xed,0xf3,0xe8,0x9b,0x19,0x71,0xee,0xe0,0x6b,0xea,0xd4,0xd8,0xf0,0x43,0x45,0x61,0xf3,0xf9,0x99,0x11,0x63,0x6f,0x4a,0xc6,0x6e,0xe0,0xa8,0xe4,0x9d,0xc7,0x47,0xe1,0xc2,0xe3,0x5a,0xee,0x5d,0x9a,0xf7,0x73,0x14,0x72,0x8f,0x20,0x6b,0xf4,0xf3,0x8f,0x48,0x8c,0xb9,0xf2,0x61,0xa9,0xd4,0x8,0x2c,0x4b,0xfa,0x9e,0x64,0xe6,0x65,0x19,0x7e,0xb,0x4f,0x7a,0x40,0x71,0x36,0xe0,0x11,0x43,0xa0,0x5b,0xb0,0xba,0x8a,0x0,0xbc,0xe1,0x91,0xb1,0xeb,0x2a,0xb6,0x18,0x78,0x63,0x3b,0x4,0xe0,0xb,0x9c,0xf9,0xe9,0x4d,0xbc,0x95,0x44,0x1,0xcb,0x1,0xd8,0xa2,0xc7,0x2a,0x46,0xd3,0x7b,0xd4,0x3c,0xd3,0xd,0x8c,0x73,0x7,0xaf,0x18,0x33,0xe6,0xda,0xbd,0x75,0x71,0x2a,0xa5,0x96,0x5f,0x34,0x27,0xb0,0xcb,0xeb,0xc0,0x34,0x9b,0xf4,0xf1,0x1f,0x1d,0x9d,0x4f,0x7f,0x41,0xa7,0xed,0x86,0x1b,0x2e,0xc9,0x27,0x8e,0xa2,0x40,0xee,0x77,0xb2,0x6c,0x78,0xf,0xa9,0xe4,0x3b,0x88,0x79,0x53,0xf8,0xe0,0x6d,0xc8,0x89,0x9f,0x7f,0x1a,0x65,0xd4,0x7f,0xf,0x4b,0x83,0x43,0x86,0xe0,0x2c,0x81,0x1e,0x73,0xe4,0x5f,0xe2,0xa9,0x9e,0x9d,0x97,0x3,0x79,0x1e,0xa5,0x8a,0xe7,0xfe,0xf2,0x6e,0xd4,0x9c,0x66,0x5e,0xc7,0x1b,0xba,0x81,0xed,0xf2,0x26,0x31,0xdb,0x76,0x38,0xf1,0xff,0x9e,0xc4,0x18,0xf2,0x48,0x43,0x8b,0x79,0x8c,0x79,0x5f,0x87,0x8b,0xee,0x53,0x55,0x56,0x9a,0x37,0x35,0xcd,0x5a,0xc8,0xa7,0xba,0xdd,0x30,0x76,0x7f,0xd5,0xd8,0x74,0x63,0x87,0x9f,0xfd,0xb6,0xb2,0xa8,0xe6,0xad,0xeb,0x9a,0x1f,0x68,0x3b,0x6f,0xa6,0x19,0xc5,0xe,0x9f,0x1d,0x8,0xfa,0xb6,0x4b,0xd6,0x9f,0xde,0xf0,0xd9,0x19,0x83,0x47,0x6e,0x1c,0xec,0xc4,0xb9,0x78,0xf1,0xd4,0xc6,0xb8,0xf7,0x3d,0x72,0x86,0xd3,0x1c,0x93,0xf9,0xbf,0x93,0xef,0xe1,0x55,0xcf,0xc0,0xcb,0x1e,0xf0,0x27,0x9f,0x74,0x62,0x41,0xe2,0xd9,0xc4,0x5f,0x1e,0x39,0xcf,0x22,0xb3,0x4d,0x36,0xe9,0x30,0xe0,0x20,0x70,0x58,0x17,0x38,0x60,0x40,0x87,0xd,0x77,0xdd,0x4b,0xdc,0xd2,0x72,0xff,0xce,0xae,0xf4,0x96,0x25,0xf7,0xef,0x1c,0x99,0xae,0xb7,0x37,0x8e,0x39,0x4e,0xc6,0x19,0xcb,0x1f,0xf9,0x5,0x7b,0x9c,0xb3,0xeb,0x20,0xcf,0xa7,0xba,0xe5,0x93,0xe3,0xf3,0xe9,0xf0,0x75,0xb6,0x93,0xf,0xfc,0x12,0x44,0x35,0x27,0xb3,0x9d,0x72,0x0,0x36,0x7c,0xee,0x43,0xd2,0x2,0x3c,0x67,0xe9,0x6,0x8f,0xa7,0xcf,0x47,0xee,0x80,0x9e,0xcb,0x34,0xed,0xd1,0xc2,0x98,0x71,0x5c,0xb6,0xfc,0xf8,0xfe,0x3,0x43,0x36,0xb8,0x8a,0x8c,0xab,0xcf,0xbc,0xa3,0xce,0xad,0xf,0xb2,0xd6,0xb8,0x61,0x8f,0x3d,0x6e,0xbc,0x1b,0x16,0x4e,0x6d,0x8c,0xed,0xef,0x78,0x1a,0xf4,0x3a,0x17,0x18,0x17,0x49,0xb6,0x2b,0xa5,0x86,0xe1,0xa,0xe7,0x25,0x6e,0x5e,0xe8,0x2f,0x9f,0x73,0xc1,0xa6,0x2b,0xb3,0x2,0x1c,0x17,0x9c,0x5b,0xa3,0xce,0xb1,0x1f,0xb1,0xcc,0x3e,0xc3,0xd4,0x8d,0x10,0xe9,0xfa,0x7f,0x67,0xe6,0x1a,0xde,0xb0,0x9e,0xa1,0x4f,0x9d,0xbe,0x3,0xaf,0x6a,0x34,0x61,0x99,0x3,0xc6,0x1c,0xf8,0xfa,0x3a,0x8,0xbc,0xfe,0xdd,0xe4,0x41,0xef,0x42,0xf2,0xe5,0xe0,0x32,0x0,0xf2,0x2e,0xa0,0x64,0xa0,0x2e,0x3f,0xe8,0xc4,0xdb,0xe7,0x6b,0xa5,0x1f,0x46,0xed,0x46,0x8f,0x67,0xc0,0x5c,0x90,0xd4,0x7c,0x44,0xdb,0xd,0xc1,0x2c,0x7,0xef,0xa4,0xd1,0x60,0x8e,0x21,0x4b,0xd1,0xbb,0x38,0xa2,0xce,0x21,0xef,0x82,0x38,0xd5,0x2c,0x7d,0xfa,0x49,0xee,0x40,0xad,0x62,0xba,0x64,0xfe,0x38,0xb2,0x54,0xcb,0x3a,0x4f,0xcd,0xc0,0x6b,0xd1,0xf5,0x4d,0x31,0x53,0xfc,0xe5,0x1a,0xeb,0x5c,0xb8,0xf7,0xa9,0xc6,0x46,0xa1,0x5,0x78,0xcd,0x47,0x7a,0x9c,0xb2,0xf6,0xa2,0x16,0x20,0x9b,0x56,0x7a,0xe0,0x53,0xc6,0xab,0xc6,0x17,0xf6,0xe9,0xf8,0xf8,0xc4,0x7e,0xd0,0xa5,0x6c,0x5,0x6f,0xfb,0x64,0x92,0xcd,0x87,0x52,0x0,0x56,0x5d,0x17,0xb0,0xfa,0x5c,0x2f,0xc0,0x5c,0x14,0x3c,0xfb,0x9c,0xc2,0x7d,0xf4,0x69,0xe4,0xb2,0xb,0xad,0x25,0xff,0xdd,0x70,0x69,0x5c,0xa7,0x1c,0x92,0xcf,0xd3,0x9b,0xbc,0x5f,0xf1,0xbb,0xf8,0xc8,0xcf,0x1c,0x51,0xf,0x92,0x9b,0xe7,0xe9,0xd3,0x2f,0xa4,0x40,0x97,0x1,0x70,0xca,0x51,0xd0,0x5,0x18,0x87,0xc,0x7c,0xf4,0xbb,0x6a,0x6,0xde,0xe7,0x60,0x2,0x78,0xa,0xc0,0xe4,0x1e,0x16,0x30,0xe6,0xa2,0x8c,0xc3,0xd4,0x6,0xd8,0xfb,0xa,0x1b,0xe0,0x88,0x5,0x8c,0x5,0xff,0x6a,0x54,0xd9,0x0,0x1d,0xe6,0x7d,0x7a,0x78,0x3e,0xd5,0x6d,0x32,0x39,0x3e,0x2c,0xdf,0xe,0xd2,0xe4,0xbf,0xc2,0xb,0xc8,0x87,0x8,0xf6,0x30,0xf6,0x82,0x4,0xad,0xe9,0xfe,0x35,0xc9,0xb0,0xc5,0xd0,0xa5,0x34,0xf7,0x98,0xf5,0xde,0x75,0xf6,0x7e,0x75,0xb,0x59,0xb5,0xf7,0xd1,0xb4,0xc6,0x26,0x77,0xb4,0x69,0x73,0x97,0x7c,0x0,0xb5,0x2c,0xa,0xdf,0xe0,0x98,0xa1,0xf7,0x9d,0x63,0xc3,0xaa,0x6a,0x6,0xde,0x34,0xbf,0x3d,0xf4,0x97,0xaf,0x81,0x61,0x32,0xc7,0xf9,0x77,0xe2,0x6,0x7e,0x49,0xae,0xef,0xb4,0xb2,0x27,0x74,0xe9,0x60,0x1c,0x6,0x99,0x6e,0x13,0x0,0xb2,0x4f,0xc2,0xcc,0xbb,0x66,0xfb,0x33,0x37,0xc0,0x85,0x6f,0x92,0xcf,0x9c,0x69,0x74,0x1c,0xfd,0x6f,0xf,0x72,0x6b,0x3e,0x9d,0x4,0xa9,0xe5,0x17,0x3,0x20,0x6d,0x1,0xca,0x6d,0x80,0x72,0x0,0xd6,0x5c,0x62,0xd7,0x22,0xf8,0xb8,0xe0,0xe,0x43,0x1e,0xf8,0xc8,0xd,0x30,0x8e,0x72,0x66,0xb5,0x7c,0x37,0xcb,0xf,0x4c,0x3e,0x12,0xb9,0x6a,0xff,0x6a,0x7f,0x65,0x7f,0x63,0xff,0x63,0x66,0xff,0x64,0xff,0x55,0xf2,0xd9,0xb8,0x3f,0xe9,0xa3,0x7b,0xbf,0x3d,0xe5,0x0,0x9c,0xd8,0xbf,0xbb,0xc7,0xbe,0x66,0x3f,0xd9,0x3f,0x44,0xdf,0xfd,0xfb,0xf6,0x9f,0x91,0x44,0x9f,0xa7,0xfc,0x4e,0xc4,0x4b,0xe6,0xe5,0x4f,0xe6,0xc,0x76,0xa3,0xce,0xa1,0xcc,0xbb,0x4d,0x93,0x11,0x15,0x20,0xfe,0xce,0x96,0x3f,0x7c,0xd1,0x7b,0x38,0xf9,0x3a,0xe5,0x8f,0xee,0x5b,0x93,0x51,0x5b,0x12,0x2c,0xf9,0xba,0x99,0xd9,0x9f,0xdc,0x3f,0xe1,0x36,0xe9,0x3b,0x6a,0x1,0xac,0x10,0x5f,0x1a,0x71,0xc9,0x22,0x8b,0xde,0x85,0x3b,0x25,0x9d,0x2d,0xac,0xe5,0x37,0x66,0x4,0x66,0x76,0xc0,0xd0,0xfe,0x68,0x66,0x5d,0xfb,0x47,0x33,0xfb,0x17,0xfb,0x3b,0xfb,0x67,0xfb,0x37,0x33,0xeb,0xdb,0xff,0xda,0xdf,0xea,0x55,0xf9,0xed,0x1a,0x81,0x43,0xfb,0xa3,0x7b,0xf4,0x1d,0xfb,0x7b,0x55,0xc9,0xef,0xef,0x7f,0x1d,0xfb,0xdf,0xee,0x1f,0xd3,0xe3,0xff,0x7d,0xb6,0x0,0xd2,0xef,0xbc,0x5,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x1,0xa0,0x2a,0x10,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x0,0x54,0x5,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0xfd,0x9a,0xf5,0x7f,0x85,0x7e,0x45,0x72,0x0,0x5,0xae,0x92,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82 -}; - - static const unsigned char frame_focus_png[]={ 0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0xc,0x8,0x6,0x0,0x0,0x0,0x56,0x75,0x5c,0xe7,0x0,0x0,0x0,0x6,0x62,0x4b,0x47,0x44,0x0,0xff,0x0,0xff,0x0,0xff,0xa0,0xbd,0xa7,0x93,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdf,0xa,0x14,0x3,0x18,0x33,0x85,0xfa,0x9b,0x25,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x0,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x47,0x49,0x4d,0x50,0x57,0x81,0xe,0x17,0x0,0x0,0x0,0x95,0x49,0x44,0x41,0x54,0x28,0xcf,0xbd,0xd2,0x31,0xe,0xc1,0x70,0x18,0x86,0xf1,0xdf,0xbf,0xe9,0xa0,0x8b,0xc1,0x35,0x48,0xec,0xb5,0xd8,0xb8,0x2,0x2b,0x37,0x70,0xd,0x2e,0xa0,0xe,0x62,0xab,0x85,0x5d,0xc2,0x35,0x9a,0x98,0xb0,0x60,0xa9,0x41,0x68,0xda,0xc9,0xb3,0x7d,0x5f,0xde,0xe7,0xcb,0x37,0xbc,0x61,0xb4,0xcc,0xdb,0xe8,0xa2,0x8f,0xe,0x82,0x4f,0x9e,0x28,0x70,0xc4,0x39,0x46,0xf,0x29,0x36,0xb8,0xf9,0x4d,0xb,0x73,0x84,0xb8,0xbc,0x9c,0x6d,0x17,0xc3,0x8b,0x6a,0x6e,0xe3,0xd5,0x2e,0xc3,0x34,0x2a,0xdf,0xb8,0xaa,0xe7,0x8a,0x4e,0x54,0xe,0x51,0x3,0x21,0x6a,0x1a,0xfc,0xb6,0xfe,0x22,0x3c,0x1a,0x64,0x1f,0x6f,0xa1,0x40,0xd2,0x40,0x68,0xa1,0x8,0xa3,0x65,0x9e,0x62,0x80,0x35,0xee,0x15,0xe1,0x4,0x33,0x1c,0x62,0x9c,0xca,0xe5,0xa4,0xa6,0x1a,0x7b,0x9c,0x5f,0xce,0xb,0x1e,0x5e,0x4b,0xa1,0xce,0xa0,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82 }; diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp index 1edae01754..bb40c5ed93 100644 --- a/scene/resources/dynamic_font.cpp +++ b/scene/resources/dynamic_font.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* dynamic_font.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifdef FREETYPE_ENABLED #include "dynamic_font.h" #include "os/file_access.h" @@ -38,11 +66,22 @@ void DynamicFontData::set_font_path(const String& p_path) { font_path=p_path; } +String DynamicFontData::get_font_path() const { + return font_path; +} + void DynamicFontData::set_force_autohinter(bool p_force) { force_autohinter=p_force; } +void DynamicFontData::_bind_methods() { + ObjectTypeDB::bind_method(_MD("set_font_path","path"),&DynamicFontData::set_font_path); + ObjectTypeDB::bind_method(_MD("get_font_path"),&DynamicFontData::get_font_path); + + ADD_PROPERTY(PropertyInfo(Variant::STRING,"font_path",PROPERTY_HINT_FILE,"*.ttf,*.otf"),_SCS("set_font_path"),_SCS("get_font_path")); +} + DynamicFontData::DynamicFontData() { @@ -516,7 +555,7 @@ void DynamicFontAtSize::_update_char(CharType p_char) { if (tex.texture.is_null()) { tex.texture.instance(); - tex.texture->create_from_image(img,0/*Texture::FLAG_FILTER*/); + tex.texture->create_from_image(img,Texture::FLAG_VIDEO_SURFACE); } else { tex.texture->set_data(img); //update } diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h index 1a46e1e468..508d630218 100644 --- a/scene/resources/dynamic_font.h +++ b/scene/resources/dynamic_font.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* dynamic_font.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef DYNAMIC_FONT_H #define DYNAMIC_FONT_H @@ -32,10 +60,14 @@ friend class DynamicFont; Ref<DynamicFontAtSize> _get_dynamic_font_at_size(int p_size); +protected: + + static void _bind_methods(); public: void set_font_ptr(const uint8_t* p_font_mem,int p_font_mem_size); void set_font_path(const String& p_path); + String get_font_path() const; void set_force_autohinter(bool p_force); DynamicFontData(); diff --git a/scene/resources/gibberish_stream.cpp b/scene/resources/gibberish_stream.cpp index 9d67069a6c..73c135a913 100644 --- a/scene/resources/gibberish_stream.cpp +++ b/scene/resources/gibberish_stream.cpp @@ -29,6 +29,9 @@ #include "gibberish_stream.h" #include "servers/audio_server.h" +//TODO: This class needs to be adapted to the new AudioStream API, +// or dropped if nobody cares about fixing it :) (GH-3307) + #if 0 int AudioStreamGibberish::get_channel_count() const { diff --git a/scene/resources/gibberish_stream.h b/scene/resources/gibberish_stream.h index e06dc5eff2..7affb4bd4d 100644 --- a/scene/resources/gibberish_stream.h +++ b/scene/resources/gibberish_stream.h @@ -29,6 +29,9 @@ #ifndef GIBBERISH_STREAM_H #define GIBBERISH_STREAM_H +//TODO: This class needs to be adapted to the new AudioStream API, +// or dropped if nobody cares about fixing it :) (GH-3307) + #if 0 #include "scene/resources/audio_stream.h" #include "scene/resources/sample_library.h" diff --git a/scene/resources/height_map_shape.cpp b/scene/resources/height_map_shape.cpp deleted file mode 100644 index e7b53c92c2..0000000000 --- a/scene/resources/height_map_shape.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* height_map_shape.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "height_map_shape.h" - -HeightMapShape::HeightMapShape() -{ -} diff --git a/scene/resources/height_map_shape.h b/scene/resources/height_map_shape.h deleted file mode 100644 index 5494075107..0000000000 --- a/scene/resources/height_map_shape.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************/ -/* height_map_shape.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef HEIGHT_MAP_SHAPE_H -#define HEIGHT_MAP_SHAPE_H - -class HeightMapShape -{ -public: - HeightMapShape(); -}; - -#endif // HEIGHT_MAP_SHAPE_H diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp index e6356d3366..a1a1f0a935 100644 --- a/scene/resources/mesh.cpp +++ b/scene/resources/mesh.cpp @@ -149,12 +149,6 @@ bool Mesh::_set(const StringName& p_name, const Variant& p_value) { return true; } - if (what=="custom_aabb") { - - surface_set_custom_aabb(idx,p_value); - return true; - } - return false; } diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 5ac7946391..ac528e6659 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -1413,8 +1413,7 @@ NodePath SceneState::get_node_path(int p_idx,bool p_for_parent) const { } } - for(int i=0;i<base_path.get_name_count();i++) { - StringName sn = base_path.get_name(i); + for(int i=base_path.get_name_count()-1;i>=0;i--) { sub_path.insert(0,base_path.get_name(i)); } diff --git a/scene/resources/polygon_path_finder.cpp b/scene/resources/polygon_path_finder.cpp index 1a7dc56e40..d6d9cbc091 100644 --- a/scene/resources/polygon_path_finder.cpp +++ b/scene/resources/polygon_path_finder.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* polygon_path_finder.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "polygon_path_finder.h" #include "geometry.h" diff --git a/scene/resources/polygon_path_finder.h b/scene/resources/polygon_path_finder.h index b23dbd0bac..dcc38bfb9d 100644 --- a/scene/resources/polygon_path_finder.h +++ b/scene/resources/polygon_path_finder.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* polygon_path_finder.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef POLYGON_PATH_FINDER_H #define POLYGON_PATH_FINDER_H diff --git a/scene/resources/rich_text.cpp b/scene/resources/rich_text.cpp deleted file mode 100644 index 8acf5ff39b..0000000000 --- a/scene/resources/rich_text.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* rich_text.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "rich_text.h" - -RichText::RichText() -{ -} diff --git a/scene/resources/rich_text.h b/scene/resources/rich_text.h deleted file mode 100644 index c74a391b10..0000000000 --- a/scene/resources/rich_text.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************/ -/* rich_text.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef RICH_TEXT_H -#define RICH_TEXT_H - -class RichText -{ -public: - RichText(); -}; - -#endif // RICH_TEXT_H diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp index f9f7f7807d..c7e2fc4e73 100644 --- a/scene/resources/scene_format_text.cpp +++ b/scene/resources/scene_format_text.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* scene_format_text.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "scene_format_text.h" #include "globals.h" @@ -1112,7 +1140,12 @@ void ResourceFormatSaverTextInstance::_find_resources(const Variant& p_variant,b } +static String _valprop(const String& p_name) { + if (p_name.find("\"")!=-1 || p_name.find("=")!=-1 || p_name.find(" ")!=-1) + return "\""+p_name.c_escape()+"\""; + return p_name; +} Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_resource,uint32_t p_flags) { @@ -1263,12 +1296,12 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re if ((PE->get().usage&PROPERTY_USAGE_STORE_IF_NONZERO && value.is_zero())||(PE->get().usage&PROPERTY_USAGE_STORE_IF_NONONE && value.is_one()) ) continue; - if (PE->get().type==Variant::OBJECT && value.is_zero()) + if (PE->get().type==Variant::OBJECT && value.is_zero() && (!PE->get().usage&PROPERTY_USAGE_STORE_IF_NULL)) continue; String vars; VariantWriter::write_to_string(value,vars,_write_resources,this); - f->store_string(name+" = "+vars+"\n"); + f->store_string(_valprop(name)+" = "+vars+"\n"); } @@ -1292,8 +1325,6 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re Vector<StringName> groups = state->get_node_groups(i); - if (instance.is_valid()) - print_line("for path "+String(path)+" instance "+instance->get_path()); String header="[node"; header+=" name=\""+String(name)+"\""; @@ -1344,7 +1375,7 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re String vars; VariantWriter::write_to_string(state->get_node_property_value(i,j),vars,_write_resources,this); - f->store_string(String(state->get_node_property_name(i,j))+" = "+vars+"\n"); + f->store_string(_valprop(String(state->get_node_property_name(i,j)))+" = "+vars+"\n"); } if (state->get_node_property_count(i)) { diff --git a/scene/resources/scene_format_text.h b/scene/resources/scene_format_text.h index 02436a6e2d..8dbfbfda48 100644 --- a/scene/resources/scene_format_text.h +++ b/scene/resources/scene_format_text.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* scene_format_text.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef SCENE_FORMAT_TEXT_H #define SCENE_FORMAT_TEXT_H diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp index 2f4d37053e..92a6f0c0b9 100644 --- a/scene/resources/theme.cpp +++ b/scene/resources/theme.cpp @@ -34,6 +34,32 @@ Ref<Theme> Theme::default_theme; +void Theme::_emit_theme_changed() { + + emit_changed(); +} + +void Theme::_ref_font( Ref<Font> p_sc) { + + if (!font_refcount.has(p_sc)) { + font_refcount[p_sc]=1; + p_sc->connect("changed",this,"_emit_theme_changed"); + } else { + font_refcount[p_sc]+=1; + } +} + +void Theme::_unref_font(Ref<Font> p_sc) { + + ERR_FAIL_COND(!font_refcount.has(p_sc)); + font_refcount[p_sc]--; + if (font_refcount[p_sc]==0) { + p_sc->disconnect("changed",this,"_emit_theme_changed"); + font_refcount.erase(p_sc); + } +} + + bool Theme::_set(const StringName& p_name, const Variant& p_value) { String sname=p_name; @@ -81,13 +107,22 @@ bool Theme::_get(const StringName& p_name,Variant &r_ret) const { if (type=="icons") { - r_ret= get_icon(name,node_type); + if (!has_icon(name,node_type)) + r_ret=Ref<Texture>(); + else + r_ret= get_icon(name,node_type); } else if (type=="styles") { - r_ret= get_stylebox(name,node_type); + if (!has_stylebox(name,node_type)) + r_ret=Ref<StyleBox>(); + else + r_ret= get_stylebox(name,node_type); } else if (type=="fonts") { - r_ret= get_font(name,node_type); + if (!has_font(name,node_type)) + r_ret=Ref<Font>(); + else + r_ret= get_font(name,node_type); } else if (type=="colors") { r_ret= get_color(name,node_type); @@ -116,7 +151,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const { while((key2=icon_map[*key].next(key2))) { - list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/icons/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Texture" ) ); + list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/icons/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Texture",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) ); } } @@ -128,7 +163,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const { while((key2=style_map[*key].next(key2))) { - list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/styles/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "StyleBox" ) ); + list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/styles/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "StyleBox", PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) ); } } @@ -141,7 +176,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const { while((key2=font_map[*key].next(key2))) { - list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/fonts/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Font" ) ); + list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/fonts/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Font",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) ); } } @@ -217,7 +252,7 @@ void Theme::set_default_font( const Ref<Font>& p_font ) { void Theme::set_icon(const StringName& p_name,const StringName& p_type,const Ref<Texture>& p_icon) { - ERR_FAIL_COND(p_icon.is_null()); +// ERR_FAIL_COND(p_icon.is_null()); bool new_value=!icon_map.has(p_type) || !icon_map[p_type].has(p_name); @@ -317,7 +352,7 @@ void Theme::get_shader_list(const StringName &p_type, List<StringName> *p_list) void Theme::set_stylebox(const StringName& p_name,const StringName& p_type,const Ref<StyleBox>& p_style) { - ERR_FAIL_COND(p_style.is_null()); +// ERR_FAIL_COND(p_style.is_null()); bool new_value=!style_map.has(p_type) || !style_map[p_type].has(p_name); @@ -380,11 +415,21 @@ void Theme::get_stylebox_types(List<StringName> *p_list) const { void Theme::set_font(const StringName& p_name,const StringName& p_type,const Ref<Font>& p_font) { - ERR_FAIL_COND(p_font.is_null()); +// ERR_FAIL_COND(p_font.is_null()); bool new_value=!font_map.has(p_type) || !font_map[p_type].has(p_name); + + if (!new_value) { + if (font_map[p_type][p_name].is_valid()) { + _unref_font(font_map[p_type][p_name]); + } + } font_map[p_type][p_name]=p_font; + if (p_font.is_valid()) { + _ref_font(p_font); + } + if (new_value) { _change_notify(); emit_changed();; @@ -411,6 +456,10 @@ void Theme::clear_font(const StringName& p_name,const StringName& p_type) { ERR_FAIL_COND(!font_map.has(p_type)); ERR_FAIL_COND(!font_map[p_type].has(p_name)); + if (font_map.has(p_type) && font_map[p_type].has(p_name) && font_map[p_type][p_name].is_valid()) { + _unref_font(font_map[p_type][p_name]); + } + font_map[p_type].erase(p_name); _change_notify(); emit_changed();; @@ -636,6 +685,11 @@ void Theme::_bind_methods() { ObjectTypeDB::bind_method(_MD("get_type_list","type"),&Theme::_get_type_list); + ObjectTypeDB::bind_method(_MD("_emit_theme_changed"),&Theme::_emit_theme_changed); + + + + ObjectTypeDB::bind_method("copy_default_theme",&Theme::copy_default_theme); ADD_PROPERTY(PropertyInfo(Variant::OBJECT,"default_font",PROPERTY_HINT_RESOURCE_TYPE,"Font"),_SCS("set_default_font"),_SCS("get_default_font")); diff --git a/scene/resources/theme.h b/scene/resources/theme.h index 9b84d0e8ad..1856bd4979 100644 --- a/scene/resources/theme.h +++ b/scene/resources/theme.h @@ -46,6 +46,15 @@ class Theme : public Resource { static Ref<Theme> default_theme; + + //keep a reference count to font, so each time the font changes, we emit theme changed too + Map< Ref<Font>, int> font_refcount; + + void _ref_font(Ref<Font> p_sc); + void _unref_font( Ref<Font> p_sc); + void _emit_theme_changed(); + + HashMap<StringName,HashMap<StringName,Ref<Texture>,StringNameHasher >, StringNameHasher > icon_map; HashMap<StringName,HashMap<StringName,Ref<StyleBox>,StringNameHasher >,StringNameHasher > style_map; HashMap<StringName,HashMap<StringName,Ref<Font>,StringNameHasher >,StringNameHasher > font_map; diff --git a/scene/resources/volume.cpp b/scene/resources/volume.cpp deleted file mode 100644 index 8e056158cb..0000000000 --- a/scene/resources/volume.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/*************************************************************************/ -/* volume.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "volume.h" - -#if 0 -void Volume::_set(const String& p_name, const Variant& p_value) { - - - if (p_name.begins_with("shapes/")) { - - int idx=p_name.get_slice("/",1).to_int()-1; - ERR_FAIL_COND( idx != get_shape_count() ); - - Dictionary shape = p_value; - ERR_FAIL_COND( !shape.has("type") || !shape.has("data")); - String type = shape["type"]; - Variant data=shape["data"]; - Transform transform; - if (shape.has("transform")) - transform=shape["transform"]; - - if (type=="plane") - add_shape(SHAPE_PLANE,data,transform); - else if (type=="sphere") - add_shape(SHAPE_SPHERE,data,transform); - else if (type=="box") - add_shape(SHAPE_BOX,data,transform); - else if (type=="cylinder") - add_shape(SHAPE_CYLINDER,data,transform); - else if (type=="capsule") - add_shape(SHAPE_CAPSULE,data,transform); - else if (type=="convex_polygon") - add_shape(SHAPE_CONVEX_POLYGON,data,transform); - else if (type=="concave_polygon") - add_shape(SHAPE_CONCAVE_POLYGON,data,transform); - else { - ERR_FAIL(); - } - } -} - -Variant Volume::_get(const String& p_name) const { - - if (p_name.begins_with("shapes/")) { - - int idx=p_name.get_slice("/",1).to_int()-1; - ERR_FAIL_INDEX_V( idx, get_shape_count(), Variant() ); - - Dictionary shape; - - switch( get_shape_type(idx) ) { - - case SHAPE_PLANE: shape["type"]="plane"; break; - case SHAPE_SPHERE: shape["type"]="sphere"; break; - case SHAPE_BOX: shape["type"]="box"; break; - case SHAPE_CYLINDER: shape["type"]="cylinder"; break; - case SHAPE_CAPSULE: shape["type"]="capsule"; break; - case SHAPE_CONVEX_POLYGON: shape["type"]="convex_polygon"; break; - case SHAPE_CONCAVE_POLYGON: shape["type"]="concave_polygon"; break; - - } - - shape["transform"]=get_shape_transform(idx); - shape["data"]=get_shape(idx); - - return shape; - } - - return Variant(); -} - -void Volume::_get_property_list( List<PropertyInfo> *p_list) const { - - int count=get_shape_count(); - for(int i=0;i<count;i++) { - - p_list->push_back( PropertyInfo( Variant::DICTIONARY, "shapes/"+itos(i+1)) ); - } -} - - - - - -void Volume::add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform) { - - PhysicsServer::get_singleton()->volume_add_shape(volume,(PhysicsServer::ShapeType)p_shape_type,p_data,p_transform); - _change_notify(); -} - - -void Volume::add_plane_shape(const Plane& p_plane,const Transform& p_transform) { - - add_shape(SHAPE_PLANE, p_plane, p_transform ); -} - -void Volume::add_sphere_shape(float p_radius,const Transform& p_transform) { - - add_shape(SHAPE_SPHERE, p_radius, p_transform ); -} - -void Volume::add_box_shape(const Vector3& p_half_extents,const Transform& p_transform) { - - add_shape(SHAPE_BOX, p_half_extents, p_transform ); -} -void Volume::add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform) { - - Dictionary d; - d["radius"]=p_radius; - d["height"]=p_height; - - add_shape(SHAPE_CYLINDER,d,p_transform); -} -void Volume::add_capsule_shape(float p_radius, float p_height,const Transform& p_transform) { - - Dictionary d; - d["radius"]=p_radius; - d["height"]=p_height; - - add_shape(SHAPE_CAPSULE,d,p_transform); -} - - -int Volume::get_shape_count() const { - - return PhysicsServer::get_singleton()->volume_get_shape_count(volume); -} - -Volume::ShapeType Volume::get_shape_type(int p_shape) const { - - return (ShapeType)PhysicsServer::get_singleton()->volume_get_shape_type(volume,p_shape); -} - -Transform Volume::get_shape_transform(int p_shape) const { - - return PhysicsServer::get_singleton()->volume_get_shape_transform(volume,p_shape); -} - -Variant Volume::get_shape(int p_shape) const { - - return PhysicsServer::get_singleton()->volume_get_shape(volume,p_shape); -} - -void Volume::_bind_methods() { - - ObjectTypeDB::bind_method(_MD("add_shape","type","data","transform"),&Volume::add_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("add_plane_shape","plane","transform"),&Volume::add_plane_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("add_sphere_shape"),&Volume::add_sphere_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("add_box_shape","radius","transform"),&Volume::add_box_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("add_cylinder_shape","radius","height","transform"),&Volume::add_cylinder_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("add_capsule_shape","radius","height","transform"),&Volume::add_capsule_shape,DEFVAL( Transform() )); - ObjectTypeDB::bind_method(_MD("get_shape_count"),&Volume::get_shape_count); - ObjectTypeDB::bind_method(_MD("get_shape_type","shape_idx"),&Volume::get_shape_type); - ObjectTypeDB::bind_method(_MD("get_shape_transform","shape_idx"),&Volume::get_shape_transform); - ObjectTypeDB::bind_method(_MD("get_shape","shape_idx"),&Volume::get_shape); - - BIND_CONSTANT( SHAPE_PLANE ); - BIND_CONSTANT( SHAPE_SPHERE ); - BIND_CONSTANT( SHAPE_BOX ); - BIND_CONSTANT( SHAPE_CYLINDER ); - BIND_CONSTANT( SHAPE_CAPSULE ); - BIND_CONSTANT( SHAPE_CONVEX_POLYGON ); - BIND_CONSTANT( SHAPE_CONCAVE_POLYGON ); - -} - -RID Volume::get_rid() { - - return volume; -} - -Volume::Volume() { - - volume= PhysicsServer::get_singleton()->volume_create(); - -} - - -Volume::~Volume() { - - PhysicsServer::get_singleton()->free(volume); -} - - -#endif diff --git a/scene/resources/volume.h b/scene/resources/volume.h deleted file mode 100644 index f03e48f1d9..0000000000 --- a/scene/resources/volume.h +++ /dev/null @@ -1,86 +0,0 @@ -/*************************************************************************/ -/* volume.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef VOLUME_H -#define VOLUME_H - -#include "resource.h" - -#if 0 -#include "servers/physics_server.h" -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ -class Volume : public Resource { - - OBJ_TYPE( Volume, Resource ); - RID volume; - -protected: - - bool _set(const StringName& p_name, const Variant& p_value); - bool _get(const StringName& p_name,Variant &r_ret) const; - void _get_property_list( List<PropertyInfo> *p_list) const; - - static void _bind_methods(); -public: - - enum ShapeType { - SHAPE_PLANE = PhysicsServer::SHAPE_PLANE, ///< plane:"plane" - SHAPE_SPHERE = PhysicsServer::SHAPE_SPHERE, ///< float:"radius" - SHAPE_BOX = PhysicsServer::SHAPE_BOX, ///< vec3:"extents" - SHAPE_CYLINDER = PhysicsServer::SHAPE_CYLINDER, ///< dict(float:"radius", float:"height"):cylinder - SHAPE_CAPSULE = PhysicsServer::SHAPE_CAPSULE, ///< dict(float:"radius", float:"height"):capsule - SHAPE_CONVEX_POLYGON = PhysicsServer::SHAPE_CONVEX_POLYGON, ///< array of planes:"planes" - SHAPE_CONCAVE_POLYGON = PhysicsServer::SHAPE_CONCAVE_POLYGON, ///< vector3 array:"triangles" - }; - - void add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform=Transform ()); - - void add_plane_shape(const Plane& p_plane,const Transform& p_transform); - void add_sphere_shape(float p_radius,const Transform& p_transform); - void add_box_shape(const Vector3& p_half_extents,const Transform& p_transform); - void add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform); - void add_capsule_shape(float p_radius, float p_height,const Transform& p_transform); - - int get_shape_count() const; - ShapeType get_shape_type(int p_shape) const; - Transform get_shape_transform(int p_shape) const; - Variant get_shape(int p_shape) const; - - virtual RID get_rid(); - - Volume(); - ~Volume(); - -}; - -VARIANT_ENUM_CAST( Volume::ShapeType ); - -#endif -#endif diff --git a/servers/audio/audio_rb_resampler.cpp b/servers/audio/audio_rb_resampler.cpp index d07d55f1b5..aa4fca3a62 100644 --- a/servers/audio/audio_rb_resampler.cpp +++ b/servers/audio/audio_rb_resampler.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_rb_resampler.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "audio_rb_resampler.h" diff --git a/servers/audio/audio_rb_resampler.h b/servers/audio/audio_rb_resampler.h index 3c08c79797..22643e4e82 100644 --- a/servers/audio/audio_rb_resampler.h +++ b/servers/audio/audio_rb_resampler.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* audio_rb_resampler.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef AUDIO_RB_RESAMPLER_H #define AUDIO_RB_RESAMPLER_H @@ -37,6 +65,7 @@ public: _FORCE_INLINE_ void flush() { rb_read_pos=0; rb_write_pos=0; + offset=0; } _FORCE_INLINE_ bool is_ready() const{ diff --git a/servers/audio/reverb_buffers_sw.cpp b/servers/audio/reverb_buffers_sw.cpp deleted file mode 100644 index 04bc056313..0000000000 --- a/servers/audio/reverb_buffers_sw.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* reverb_buffers_sw.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "reverb_buffers_sw.h" - -ReverbBuffersSW::ReverbBuffersSW() -{ -} diff --git a/servers/audio/reverb_buffers_sw.h b/servers/audio/reverb_buffers_sw.h deleted file mode 100644 index f5885e6ee8..0000000000 --- a/servers/audio/reverb_buffers_sw.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************/ -/* reverb_buffers_sw.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef REVERB_BUFFERS_SW_H -#define REVERB_BUFFERS_SW_H - -class ReverbBuffersSW -{ -public: - ReverbBuffersSW(); -}; - -#endif // REVERB_BUFFERS_SW_H diff --git a/servers/audio/voice_rb_sw.cpp b/servers/audio/voice_rb_sw.cpp deleted file mode 100644 index 8d12e5085d..0000000000 --- a/servers/audio/voice_rb_sw.cpp +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************/ -/* voice_rb_sw.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "voice_rb_sw.h" -/* -VoiceRBSW::VoiceRBSW() -{ -} -*/ diff --git a/servers/physics/constraint_sw.cpp b/servers/physics/constraint_sw.cpp deleted file mode 100644 index ce0e1e6963..0000000000 --- a/servers/physics/constraint_sw.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* constraint_sw.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "constraint_sw.h" - diff --git a/servers/physics/gjk_epa.cpp b/servers/physics/gjk_epa.cpp index f76f8c646a..71d6fee2ab 100644 --- a/servers/physics/gjk_epa.cpp +++ b/servers/physics/gjk_epa.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* gjk_epa.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* gjk_epa.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "gjk_epa.h" /*************** Bullet's GJK-EPA2 IMPLEMENTATION *******************/ diff --git a/servers/physics/gjk_epa.h b/servers/physics/gjk_epa.h index 23f51d66c4..78afd3149f 100644 --- a/servers/physics/gjk_epa.h +++ b/servers/physics/gjk_epa.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* gjk_epa.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* gjk_epa.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef GJK_EPA_H #define GJK_EPA_H diff --git a/servers/physics/joints/cone_twist_joint_sw.cpp b/servers/physics/joints/cone_twist_joint_sw.cpp index d97d8c599f..5f1dde4e20 100644 --- a/servers/physics/joints/cone_twist_joint_sw.cpp +++ b/servers/physics/joints/cone_twist_joint_sw.cpp @@ -1,3 +1,37 @@ +/*************************************************************************/ +/* cone_twist_joint_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +See corresponding header file for licensing info. +*/ + #include "cone_twist_joint_sw.h" static void plane_space(const Vector3& n, Vector3& p, Vector3& q) { diff --git a/servers/physics/joints/cone_twist_joint_sw.h b/servers/physics/joints/cone_twist_joint_sw.h index 63502d2036..653259071d 100644 --- a/servers/physics/joints/cone_twist_joint_sw.h +++ b/servers/physics/joints/cone_twist_joint_sw.h @@ -1,9 +1,35 @@ -#ifndef CONE_TWIST_JOINT_SW_H -#define CONE_TWIST_JOINT_SW_H - -#include "servers/physics/joints_sw.h" -#include "servers/physics/joints/jacobian_entry_sw.h" +/*************************************************************************/ +/* cone_twist_joint_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ +/* +Adapted to Godot from the Bullet library. +*/ /* Bullet Continuous Collision Detection and Physics Library @@ -22,6 +48,12 @@ subject to the following restrictions: Written by: Marcus Hennix */ +#ifndef CONE_TWIST_JOINT_SW_H +#define CONE_TWIST_JOINT_SW_H + +#include "servers/physics/joints_sw.h" +#include "servers/physics/joints/jacobian_entry_sw.h" + ///ConeTwistJointSW can be used to simulate ragdoll joints (upper arm, leg etc) diff --git a/servers/physics/joints/generic_6dof_joint_sw.cpp b/servers/physics/joints/generic_6dof_joint_sw.cpp index decc379461..06015a5228 100644 --- a/servers/physics/joints/generic_6dof_joint_sw.cpp +++ b/servers/physics/joints/generic_6dof_joint_sw.cpp @@ -1,3 +1,37 @@ +/*************************************************************************/ +/* generic_6dof_joint_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +See corresponding header file for licensing info. +*/ + #include "generic_6dof_joint_sw.h" diff --git a/servers/physics/joints/generic_6dof_joint_sw.h b/servers/physics/joints/generic_6dof_joint_sw.h index 7f762e51a2..47ef43156d 100644 --- a/servers/physics/joints/generic_6dof_joint_sw.h +++ b/servers/physics/joints/generic_6dof_joint_sw.h @@ -1,3 +1,36 @@ +/*************************************************************************/ +/* generic_6dof_joint_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +*/ + #ifndef GENERIC_6DOF_JOINT_SW_H #define GENERIC_6DOF_JOINT_SW_H diff --git a/servers/physics/joints/hinge_joint_sw.cpp b/servers/physics/joints/hinge_joint_sw.cpp index 37b73f64c7..035407065c 100644 --- a/servers/physics/joints/hinge_joint_sw.cpp +++ b/servers/physics/joints/hinge_joint_sw.cpp @@ -1,3 +1,37 @@ +/*************************************************************************/ +/* hinge_joint_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +See corresponding header file for licensing info. +*/ + #include "hinge_joint_sw.h" static void plane_space(const Vector3& n, Vector3& p, Vector3& q) { diff --git a/servers/physics/joints/hinge_joint_sw.h b/servers/physics/joints/hinge_joint_sw.h index 4f6cdaf799..f87c2ac4c5 100644 --- a/servers/physics/joints/hinge_joint_sw.h +++ b/servers/physics/joints/hinge_joint_sw.h @@ -1,3 +1,36 @@ +/*************************************************************************/ +/* hinge_joint_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +*/ + #ifndef HINGE_JOINT_SW_H #define HINGE_JOINT_SW_H diff --git a/servers/physics/joints/jacobian_entry_sw.cpp b/servers/physics/joints/jacobian_entry_sw.cpp deleted file mode 100644 index faa3cf15c4..0000000000 --- a/servers/physics/joints/jacobian_entry_sw.cpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "jacobian_entry_sw.h" - diff --git a/servers/physics/joints/jacobian_entry_sw.h b/servers/physics/joints/jacobian_entry_sw.h index 16fa034215..b7ab58f16b 100644 --- a/servers/physics/joints/jacobian_entry_sw.h +++ b/servers/physics/joints/jacobian_entry_sw.h @@ -1,3 +1,36 @@ +/*************************************************************************/ +/* jacobian_entry_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +*/ + #ifndef JACOBIAN_ENTRY_SW_H #define JACOBIAN_ENTRY_SW_H diff --git a/servers/physics/joints/pin_joint_sw.cpp b/servers/physics/joints/pin_joint_sw.cpp index 229863fb7b..013d750b4f 100644 --- a/servers/physics/joints/pin_joint_sw.cpp +++ b/servers/physics/joints/pin_joint_sw.cpp @@ -1,3 +1,37 @@ +/*************************************************************************/ +/* pin_joint_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +See corresponding header file for licensing info. +*/ + #include "pin_joint_sw.h" bool PinJointSW::setup(float p_step) { diff --git a/servers/physics/joints/pin_joint_sw.h b/servers/physics/joints/pin_joint_sw.h index dae6e7d5f2..4ef134fe73 100644 --- a/servers/physics/joints/pin_joint_sw.h +++ b/servers/physics/joints/pin_joint_sw.h @@ -1,3 +1,36 @@ +/*************************************************************************/ +/* pin_joint_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +*/ + #ifndef PIN_JOINT_SW_H #define PIN_JOINT_SW_H diff --git a/servers/physics/joints/slider_joint_sw.cpp b/servers/physics/joints/slider_joint_sw.cpp index faa6875378..a9072e5de3 100644 --- a/servers/physics/joints/slider_joint_sw.cpp +++ b/servers/physics/joints/slider_joint_sw.cpp @@ -1,3 +1,37 @@ +/*************************************************************************/ +/* slider_joint_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +See corresponding header file for licensing info. +*/ + #include "slider_joint_sw.h" //----------------------------------------------------------------------------- diff --git a/servers/physics/joints/slider_joint_sw.h b/servers/physics/joints/slider_joint_sw.h index 517bb5e6bc..9ee6c83800 100644 --- a/servers/physics/joints/slider_joint_sw.h +++ b/servers/physics/joints/slider_joint_sw.h @@ -1,3 +1,36 @@ +/*************************************************************************/ +/* slider_joint_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ + +/* +Adapted to Godot from the Bullet library. +*/ + #ifndef SLIDER_JOINT_SW_H #define SLIDER_JOINT_SW_H diff --git a/servers/physics/joints_sw.cpp b/servers/physics/joints_sw.cpp deleted file mode 100644 index 7f7df31534..0000000000 --- a/servers/physics/joints_sw.cpp +++ /dev/null @@ -1,450 +0,0 @@ -/*************************************************************************/ -/* joints_sw.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "joints_sw.h" -#include "space_sw.h" - -#if 0 - -//based on chipmunk joint constraints - -/* Copyright (c) 2007 Scott Lembcke - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -static inline real_t k_scalar(Body2DSW *a,Body2DSW *b,const Vector2& rA, const Vector2& rB, const Vector2& n) { - - - real_t value=0; - - - { - value+=a->get_inv_mass(); - real_t rcn = rA.cross(n); - value+=a->get_inv_inertia() * rcn * rcn; - } - - if (b) { - - value+=b->get_inv_mass(); - real_t rcn = rB.cross(n); - value+=b->get_inv_inertia() * rcn * rcn; - } - - return value; - -} - - -bool PinJoint2DSW::setup(float p_step) { - - Space2DSW *space = A->get_space(); - ERR_FAIL_COND_V(!space,false;) - rA = A->get_transform().xform(anchor_A); - rB = B?B->get_transform().xform(anchor_B):anchor_B; - - Vector2 delta = rB - rA; - - rA-= A->get_transform().get_origin(); - if (B) - rB-=B->get_transform().get_origin(); - - - real_t jdist = delta.length(); - correct=false; - if (jdist==0) - return false; // do not correct - - correct=true; - - n = delta / jdist; - - // calculate mass normal - mass_normal = 1.0f/k_scalar(A, B, rA, rB, n); - - // calculate bias velocity - //real_t maxBias = joint->constraint.maxBias; - bias = -(get_bias()==0?space->get_constraint_bias():get_bias())*(1.0/p_step)*(jdist-dist); - bias = CLAMP(bias, -get_max_bias(), +get_max_bias()); - - // compute max impulse - jn_max = get_max_force() * p_step; - - // apply accumulated impulse - Vector2 j = n * jn_acc; - A->apply_impulse(rA,-j); - if (B) - B->apply_impulse(rB,j); - - return true; -} - - -static inline Vector2 -relative_velocity(Body2DSW *a, Body2DSW *b, Vector2 rA, Vector2 rB){ - Vector2 sum = a->get_linear_velocity() -rA.tangent() * a->get_angular_velocity(); - if (b) - return (b->get_linear_velocity() -rB.tangent() * b->get_angular_velocity()) - sum; - else - return -sum; -} - -static inline real_t -normal_relative_velocity(Body2DSW *a, Body2DSW *b, Vector2 rA, Vector2 rB, Vector2 n){ - return relative_velocity(a, b, rA, rB).dot(n); -} - - -void PinJoint2DSW::solve(float p_step){ - - if (!correct) - return; - - Vector2 ln = n; - - // compute relative velocity - real_t vrn = normal_relative_velocity(A,B, rA, rB, ln); - - // compute normal impulse - real_t jn = (bias - vrn)*mass_normal; - real_t jnOld = jn_acc; - jn_acc = CLAMP(jnOld + jn,-jn_max,jn_max); //cpfclamp(jnOld + jn, -joint->jnMax, joint->jnMax); - jn = jn_acc - jnOld; - - Vector2 j = jn*ln; - - A->apply_impulse(rA,-j); - if (B) - B->apply_impulse(rB,j); - -} - - -PinJoint2DSW::PinJoint2DSW(const Vector2& p_pos,Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,p_body_b?2:1) { - - A=p_body_a; - B=p_body_b; - anchor_A = p_body_a->get_inv_transform().xform(p_pos); - anchor_B = p_body_b?p_body_b->get_inv_transform().xform(p_pos):p_pos; - - jn_acc=0; - dist=0; - - p_body_a->add_constraint(this,0); - if (p_body_b) - p_body_b->add_constraint(this,1); - -} - -PinJoint2DSW::~PinJoint2DSW() { - - if (A) - A->remove_constraint(this); - if (B) - B->remove_constraint(this); - -} - -////////////////////////////////////////////// -////////////////////////////////////////////// -////////////////////////////////////////////// - - -static inline void -k_tensor(Body2DSW *a, Body2DSW *b, Vector2 r1, Vector2 r2, Vector2 *k1, Vector2 *k2) -{ - // calculate mass matrix - // If I wasn't lazy and wrote a proper matrix class, this wouldn't be so gross... - real_t k11, k12, k21, k22; - real_t m_sum = a->get_inv_mass() + b->get_inv_mass(); - - // start with I*m_sum - k11 = m_sum; k12 = 0.0f; - k21 = 0.0f; k22 = m_sum; - - // add the influence from r1 - real_t a_i_inv = a->get_inv_inertia(); - real_t r1xsq = r1.x * r1.x * a_i_inv; - real_t r1ysq = r1.y * r1.y * a_i_inv; - real_t r1nxy = -r1.x * r1.y * a_i_inv; - k11 += r1ysq; k12 += r1nxy; - k21 += r1nxy; k22 += r1xsq; - - // add the influnce from r2 - real_t b_i_inv = b->get_inv_inertia(); - real_t r2xsq = r2.x * r2.x * b_i_inv; - real_t r2ysq = r2.y * r2.y * b_i_inv; - real_t r2nxy = -r2.x * r2.y * b_i_inv; - k11 += r2ysq; k12 += r2nxy; - k21 += r2nxy; k22 += r2xsq; - - // invert - real_t determinant = k11*k22 - k12*k21; - ERR_FAIL_COND(determinant== 0.0); - - real_t det_inv = 1.0f/determinant; - *k1 = Vector2( k22*det_inv, -k12*det_inv); - *k2 = Vector2(-k21*det_inv, k11*det_inv); -} - -static _FORCE_INLINE_ Vector2 -mult_k(const Vector2& vr, const Vector2 &k1, const Vector2 &k2) -{ - return Vector2(vr.dot(k1), vr.dot(k2)); -} - -bool GrooveJoint2DSW::setup(float p_step) { - - - // calculate endpoints in worldspace - Vector2 ta = A->get_transform().xform(A_groove_1); - Vector2 tb = A->get_transform().xform(A_groove_2); - Space2DSW *space=A->get_space(); - - // calculate axis - Vector2 n = -(tb - ta).tangent().normalized(); - real_t d = ta.dot(n); - - xf_normal = n; - rB = B->get_transform().basis_xform(B_anchor); - - // calculate tangential distance along the axis of rB - real_t td = (B->get_transform().get_origin() + rB).cross(n); - // calculate clamping factor and rB - if(td <= ta.cross(n)){ - clamp = 1.0f; - rA = ta - A->get_transform().get_origin(); - } else if(td >= tb.cross(n)){ - clamp = -1.0f; - rA = tb - A->get_transform().get_origin(); - } else { - clamp = 0.0f; - //joint->r1 = cpvsub(cpvadd(cpvmult(cpvperp(n), -td), cpvmult(n, d)), a->p); - rA = ((-n.tangent() * -td) + n*d) - A->get_transform().get_origin(); - } - - // Calculate mass tensor - k_tensor(A, B, rA, rB, &k1, &k2); - - // compute max impulse - jn_max = get_max_force() * p_step; - - // calculate bias velocity -// cpVect delta = cpvsub(cpvadd(b->p, joint->r2), cpvadd(a->p, joint->r1)); -// joint->bias = cpvclamp(cpvmult(delta, -joint->constraint.biasCoef*dt_inv), joint->constraint.maxBias); - - - Vector2 delta = (B->get_transform().get_origin() +rB) - (A->get_transform().get_origin() + rA); - gbias=(delta*-(get_bias()==0?space->get_constraint_bias():get_bias())*(1.0/p_step)).clamped(get_max_bias()); - - // apply accumulated impulse - A->apply_impulse(rA,-jn_acc); - B->apply_impulse(rB,jn_acc); - - correct=true; - return true; -} - -void GrooveJoint2DSW::solve(float p_step){ - - - // compute impulse - Vector2 vr = relative_velocity(A, B, rA,rB); - - Vector2 j = mult_k(gbias-vr, k1, k2); - Vector2 jOld = jn_acc; - j+=jOld; - - jn_acc = (((clamp * j.cross(xf_normal)) > 0) ? j : xf_normal.project(j)).clamped(jn_max); - - j = jn_acc - jOld; - - A->apply_impulse(rA,-j); - B->apply_impulse(rB,j); -} - - -GrooveJoint2DSW::GrooveJoint2DSW(const Vector2& p_a_groove1,const Vector2& p_a_groove2, const Vector2& p_b_anchor, Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,2) { - - A=p_body_a; - B=p_body_b; - - A_groove_1 = A->get_inv_transform().xform(p_a_groove1); - A_groove_2 = A->get_inv_transform().xform(p_a_groove2); - B_anchor=B->get_inv_transform().xform(p_b_anchor); - A_groove_normal = -(A_groove_2 - A_groove_1).normalized().tangent(); - - A->add_constraint(this,0); - B->add_constraint(this,1); - -} - -GrooveJoint2DSW::~GrooveJoint2DSW() { - - A->remove_constraint(this); - B->remove_constraint(this); -} - - -////////////////////////////////////////////// -////////////////////////////////////////////// -////////////////////////////////////////////// - - -bool DampedSpringJoint2DSW::setup(float p_step) { - - rA = A->get_transform().basis_xform(anchor_A); - rB = B->get_transform().basis_xform(anchor_B); - - Vector2 delta = (B->get_transform().get_origin() + rB) - (A->get_transform().get_origin() + rA) ; - real_t dist = delta.length(); - - if (dist) - n=delta/dist; - else - n=Vector2(); - - real_t k = k_scalar(A, B, rA, rB, n); - n_mass = 1.0f/k; - - target_vrn = 0.0f; - v_coef = 1.0f - Math::exp(-damping*(p_step)*k); - - // apply spring force - real_t f_spring = (rest_length - dist) * stiffness; - Vector2 j = n * f_spring*(p_step); - - A->apply_impulse(rA,-j); - B->apply_impulse(rB,j); - - - return true; -} - -void DampedSpringJoint2DSW::solve(float p_step) { - - // compute relative velocity - real_t vrn = normal_relative_velocity(A, B, rA, rB, n) - target_vrn; - - // compute velocity loss from drag - // not 100% certain this is derived correctly, though it makes sense - real_t v_damp = -vrn*v_coef; - target_vrn = vrn + v_damp; - Vector2 j=n*v_damp*n_mass; - - A->apply_impulse(rA,-j); - B->apply_impulse(rB,j); - -} - -void DampedSpringJoint2DSW::set_param(Physics2DServer::DampedStringParam p_param, real_t p_value) { - - switch(p_param) { - - case Physics2DServer::DAMPED_STRING_REST_LENGTH: { - - rest_length=p_value; - } break; - case Physics2DServer::DAMPED_STRING_DAMPING: { - - damping=p_value; - } break; - case Physics2DServer::DAMPED_STRING_STIFFNESS: { - - stiffness=p_value; - } break; - } - -} - -real_t DampedSpringJoint2DSW::get_param(Physics2DServer::DampedStringParam p_param) const{ - - switch(p_param) { - - case Physics2DServer::DAMPED_STRING_REST_LENGTH: { - - return rest_length; - } break; - case Physics2DServer::DAMPED_STRING_DAMPING: { - - return damping; - } break; - case Physics2DServer::DAMPED_STRING_STIFFNESS: { - - return stiffness; - } break; - } - - ERR_FAIL_V(0); -} - - -DampedSpringJoint2DSW::DampedSpringJoint2DSW(const Vector2& p_anchor_a,const Vector2& p_anchor_b, Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,2) { - - - A=p_body_a; - B=p_body_b; - anchor_A = A->get_inv_transform().xform(p_anchor_a); - anchor_B = B->get_inv_transform().xform(p_anchor_b); - - rest_length=p_anchor_a.distance_to(p_anchor_b); - stiffness=20; - damping=1.5; - - - A->add_constraint(this,0); - B->add_constraint(this,1); - -} - -DampedSpringJoint2DSW::~DampedSpringJoint2DSW() { - - A->remove_constraint(this); - B->remove_constraint(this); - -} - - -#endif diff --git a/servers/physics/joints_sw.h b/servers/physics/joints_sw.h index c42baae961..b54c655ea1 100644 --- a/servers/physics/joints_sw.h +++ b/servers/physics/joints_sw.h @@ -33,7 +33,6 @@ #include "body_sw.h" - class JointSW : public ConstraintSW { @@ -45,122 +44,4 @@ public: }; -#if 0 -class PinJointSW : public JointSW { - - union { - struct { - BodySW *A; - BodySW *B; - }; - - BodySW *_arr[2]; - }; - - Vector2 anchor_A; - Vector2 anchor_B; - real_t dist; - real_t jn_acc; - real_t jn_max; - real_t max_distance; - real_t mass_normal; - real_t bias; - - Vector2 rA,rB; - Vector2 n; //normal - bool correct; - - -public: - - virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_PIN; } - - virtual bool setup(float p_step); - virtual void solve(float p_step); - - - PinJointSW(const Vector2& p_pos,BodySW* p_body_a,BodySW* p_body_b=NULL); - ~PinJointSW(); -}; - - -class GrooveJointSW : public JointSW { - - union { - struct { - BodySW *A; - BodySW *B; - }; - - BodySW *_arr[2]; - }; - - Vector2 A_groove_1; - Vector2 A_groove_2; - Vector2 A_groove_normal; - Vector2 B_anchor; - Vector2 jn_acc; - Vector2 gbias; - real_t jn_max; - real_t clamp; - Vector2 xf_normal; - Vector2 rA,rB; - Vector2 k1,k2; - - - bool correct; - -public: - - virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_GROOVE; } - - virtual bool setup(float p_step); - virtual void solve(float p_step); - - - GrooveJointSW(const Vector2& p_a_groove1,const Vector2& p_a_groove2, const Vector2& p_b_anchor, BodySW* p_body_a,BodySW* p_body_b); - ~GrooveJointSW(); -}; - - -class DampedSpringJointSW : public JointSW { - - union { - struct { - BodySW *A; - BodySW *B; - }; - - BodySW *_arr[2]; - }; - - - Vector2 anchor_A; - Vector2 anchor_B; - - real_t rest_length; - real_t damping; - real_t stiffness; - - Vector2 rA,rB; - Vector2 n; - real_t n_mass; - real_t target_vrn; - real_t v_coef; - -public: - - virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_DAMPED_SPRING; } - - virtual bool setup(float p_step); - virtual void solve(float p_step); - - void set_param(PhysicsServer::DampedStringParam p_param, real_t p_value); - real_t get_param(PhysicsServer::DampedStringParam p_param) const; - - DampedSpringJointSW(const Vector2& p_anchor_a,const Vector2& p_anchor_b, BodySW* p_body_a,BodySW* p_body_b); - ~DampedSpringJointSW(); -}; -#endif - -#endif // JOINTS__SW_H +#endif // JOINTS_SW_H diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.cpp b/servers/physics_2d/broad_phase_2d_hash_grid.cpp index 6a52d5fe5b..953c87021f 100644 --- a/servers/physics_2d/broad_phase_2d_hash_grid.cpp +++ b/servers/physics_2d/broad_phase_2d_hash_grid.cpp @@ -29,6 +29,8 @@ #include "broad_phase_2d_hash_grid.h" #include "globals.h" +#define LARGE_ELEMENT_FI 1.01239812 + void BroadPhase2DHashGrid::_pair_attempt(Element *p_elem, Element* p_with) { Map<Element*,PairData*>::Element *E=p_elem->paired.find(p_with); @@ -102,6 +104,26 @@ void BroadPhase2DHashGrid::_check_motion(Element *p_elem) { void BroadPhase2DHashGrid::_enter_grid( Element* p_elem, const Rect2& p_rect,bool p_static) { + + Vector2 sz = (p_rect.size/cell_size*LARGE_ELEMENT_FI); //use magic number to avoid floating point issues + if (sz.width*sz.height > large_object_min_surface) { + //large object, do not use grid, must check against all elements + for (Map<ID,Element>::Element *E=element_map.front();E;E=E->next()) { + if (E->key()==p_elem->self) + continue; // do not pair against itself + if (E->get().owner == p_elem->owner) + continue; + if (E->get()._static && p_static) + continue; + + _pair_attempt(p_elem,&E->get()); + } + + + large_elements[p_elem].inc(); + return; + } + Point2i from = (p_rect.pos/cell_size).floor(); Point2i to = ((p_rect.pos+p_rect.size)/cell_size).floor(); @@ -174,12 +196,40 @@ void BroadPhase2DHashGrid::_enter_grid( Element* p_elem, const Rect2& p_rect,boo } + //pair separatedly with large elements + + for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) { + + if (E->key()==p_elem) + continue; // do not pair against itself + if (E->key()->owner == p_elem->owner) + continue; + if (E->key()->_static && p_static) + continue; + + _pair_attempt(E->key(),p_elem); + } } void BroadPhase2DHashGrid::_exit_grid( Element* p_elem, const Rect2& p_rect,bool p_static) { + Vector2 sz = (p_rect.size/cell_size*LARGE_ELEMENT_FI); + if (sz.width*sz.height > large_object_min_surface) { + + //unpair all elements, instead of checking all, just check what is already paired, so we at least save from checking static vs static + for (Map<Element*,PairData*>::Element *E=p_elem->paired.front();E;E=E->next()) { + + _unpair_attempt(p_elem,E->key()); + } + + if (large_elements[p_elem].dec()==0) { + large_elements.erase(p_elem); + } + return; + } + Point2i from = (p_rect.pos/cell_size).floor(); Point2i to = ((p_rect.pos+p_rect.size)/cell_size).floor(); @@ -274,6 +324,20 @@ void BroadPhase2DHashGrid::_exit_grid( Element* p_elem, const Rect2& p_rect,bool } + + for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) { + if (E->key()==p_elem) + continue; // do not pair against itself + if (E->key()->owner == p_elem->owner) + continue; + if (E->key()->_static && p_static) + continue; + + //unpair from large elements + _unpair_attempt(p_elem,E->key()); + } + + } @@ -526,6 +590,28 @@ int BroadPhase2DHashGrid::cull_segment(const Vector2& p_from, const Vector2& p_t } + for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) { + + if (cullcount>=p_max_results) + break; + if (E->key()->pass==pass) + continue; + + E->key()->pass=pass; + +// if (use_aabb && !p_aabb.intersects(E->key()->aabb)) +// continue; + + if (!E->key()->aabb.intersects_segment(p_from,p_to)) + continue; + + p_results[cullcount]=E->key()->owner; + p_result_indices[cullcount]=E->key()->subindex; + cullcount++; + + + } + return cullcount; } @@ -547,6 +633,27 @@ int BroadPhase2DHashGrid::cull_aabb(const Rect2& p_aabb,CollisionObject2DSW** p_ } + for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) { + + if (cullcount>=p_max_results) + break; + if (E->key()->pass==pass) + continue; + + E->key()->pass=pass; + + if (!p_aabb.intersects(E->key()->aabb)) + continue; + +// if (!E->key()->aabb.intersects_segment(p_from,p_to)) +// continue; + + p_results[cullcount]=E->key()->owner; + p_result_indices[cullcount]=E->key()->subindex; + cullcount++; + + + } return cullcount; } @@ -581,6 +688,7 @@ BroadPhase2DHashGrid::BroadPhase2DHashGrid() { hash_table = memnew_arr( PosBin*, hash_table_size); cell_size = GLOBAL_DEF("physics_2d/cell_size",128); + large_object_min_surface = GLOBAL_DEF("physics_2d/large_object_surface_treshold_in_cells",512); for(int i=0;i<hash_table_size;i++) hash_table[i]=NULL; diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.h b/servers/physics_2d/broad_phase_2d_hash_grid.h index bda5ea21cf..561d488484 100644 --- a/servers/physics_2d/broad_phase_2d_hash_grid.h +++ b/servers/physics_2d/broad_phase_2d_hash_grid.h @@ -55,8 +55,26 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW { }; + struct RC { + + int ref; + + _FORCE_INLINE_ int inc() { + ref++; + return ref; + } + _FORCE_INLINE_ int dec() { + ref--; + return ref; + } + + _FORCE_INLINE_ RC() { + ref=0; + } + }; Map<ID,Element> element_map; + Map<Element*,RC> large_elements; ID current; @@ -86,6 +104,7 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW { Map<PairKey,PairData> pair_map; int cell_size; + int large_object_min_surface; PairCallback pair_callback; void *pair_userdata; @@ -127,23 +146,7 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW { }; - struct RC { - - int ref; - - _FORCE_INLINE_ int inc() { - ref++; - return ref; - } - _FORCE_INLINE_ int dec() { - ref--; - return ref; - } - _FORCE_INLINE_ RC() { - ref=0; - } - }; struct PosBin { diff --git a/servers/physics_2d/collision_solver_2d_sat.cpp b/servers/physics_2d/collision_solver_2d_sat.cpp index f22b676304..a6d12bdada 100644 --- a/servers/physics_2d/collision_solver_2d_sat.cpp +++ b/servers/physics_2d/collision_solver_2d_sat.cpp @@ -77,6 +77,7 @@ _FORCE_INLINE_ static void _generate_contacts_point_edge(const Vector2 * p_point struct _generate_contacts_Pair { + bool a; int idx; float d; _FORCE_INLINE_ bool operator <(const _generate_contacts_Pair& l) const { return d< l.d; } @@ -89,12 +90,14 @@ _FORCE_INLINE_ static void _generate_contacts_edge_edge(const Vector2 * p_points ERR_FAIL_COND( p_point_count_B != 2 ); // circle is actually a 4x3 matrix #endif - +# if 0 Vector2 rel_A=p_points_A[1]-p_points_A[0]; Vector2 rel_B=p_points_B[1]-p_points_B[0]; Vector2 t = p_collector->normal.tangent(); + print_line("tangent: "+t); + real_t dA[2]={t.dot(p_points_A[0]),t.dot(p_points_A[1])}; Vector2 pA[2]={p_points_A[0],p_points_A[1]}; @@ -201,41 +204,55 @@ _FORCE_INLINE_ static void _generate_contacts_edge_edge(const Vector2 * p_points } } +#endif + +#if 1 -#if 0 - Vector2 axis = rel_A.normalized(); - Vector2 axis_B = rel_B.normalized(); - if (axis.dot(axis_B)<0) - axis_B=-axis_B; - axis=(axis+axis_B)*0.5; - Vector2 normal_A = axis.tangent(); - real_t dA = normal_A.dot(p_points_A[0]); - Vector2 normal_B = rel_B.tangent().normalized(); - real_t dB = normal_A.dot(p_points_B[0]); - Vector2 A[4]={ normal_A.plane_project(dA,p_points_B[0]), normal_A.plane_project(dA,p_points_B[1]), p_points_A[0], p_points_A[1] }; - Vector2 B[4]={ p_points_B[0], p_points_B[1], normal_B.plane_project(dB,p_points_A[0]), normal_B.plane_project(dB,p_points_A[1]) }; + Vector2 n = p_collector->normal; + Vector2 t = n.tangent(); + real_t dA = n.dot(p_points_A[0]); + real_t dB = n.dot(p_points_B[0]); _generate_contacts_Pair dvec[4]; - for(int i=0;i<4;i++) { - dvec[i].d=axis.dot(p_points_A[0]-A[i]); - dvec[i].idx=i; - } + + dvec[0].d=t.dot(p_points_A[0]); + dvec[0].a=true; + dvec[0].idx=0; + dvec[1].d=t.dot(p_points_A[1]); + dvec[1].a=true; + dvec[1].idx=1; + dvec[2].d=t.dot(p_points_B[0]); + dvec[2].a=false; + dvec[2].idx=0; + dvec[3].d=t.dot(p_points_B[1]); + dvec[3].a=false; + dvec[3].idx=1; SortArray<_generate_contacts_Pair> sa; sa.sort(dvec,4); for(int i=1;i<=2;i++) { - Vector2 a = A[i]; - Vector2 b = B[i]; - if (p_collector->normal.dot(a) > p_collector->normal.dot(b)-CMP_EPSILON) - continue; - p_collector->call(a,b); + if (dvec[i].a) { + Vector2 a = p_points_A[dvec[i].idx]; + Vector2 b = n.plane_project(dB,a); + if (n.dot(a) > n.dot(b)-CMP_EPSILON) + continue; + p_collector->call(a,b); + } else { + Vector2 b = p_points_B[dvec[i].idx]; + Vector2 a = n.plane_project(dA,b); + if (n.dot(a) > n.dot(b)-CMP_EPSILON) + continue; + p_collector->call(a,b); + } } + + #elif 0 Vector2 axis = rel_A.normalized(); //make an axis Vector2 axis_B = rel_B.normalized(); diff --git a/servers/physics_2d/constraint_2d_sw.cpp b/servers/physics_2d/constraint_2d_sw.cpp deleted file mode 100644 index 2f681e8590..0000000000 --- a/servers/physics_2d/constraint_2d_sw.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* constraint_2d_sw.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "constraint_2d_sw.h" - diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.cpp b/servers/physics_2d/physics_2d_server_wrap_mt.cpp index c5f023f162..3e8b284b9b 100644 --- a/servers/physics_2d/physics_2d_server_wrap_mt.cpp +++ b/servers/physics_2d/physics_2d_server_wrap_mt.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* physics_2d_server_wrap_mt.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "physics_2d_server_wrap_mt.h" #include "os/os.h" diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.h b/servers/physics_2d/physics_2d_server_wrap_mt.h index 891c45addf..fd98da2d9c 100644 --- a/servers/physics_2d/physics_2d_server_wrap_mt.h +++ b/servers/physics_2d/physics_2d_server_wrap_mt.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* physics_2d_server_wrap_mt.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef PHYSICS2DSERVERWRAPMT_H #define PHYSICS2DSERVERWRAPMT_H diff --git a/servers/server_wrap_mt_common.h b/servers/server_wrap_mt_common.h index 149e9ec4f9..dd9d603852 100644 --- a/servers/server_wrap_mt_common.h +++ b/servers/server_wrap_mt_common.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* server_wrap_mt_common.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #define FUNC0R(m_r,m_type)\ virtual m_r m_type() { \ diff --git a/servers/spatial_sound/spatial_sound_server_sw.cpp b/servers/spatial_sound/spatial_sound_server_sw.cpp index d87d05dc4d..dc15d61afa 100644 --- a/servers/spatial_sound/spatial_sound_server_sw.cpp +++ b/servers/spatial_sound/spatial_sound_server_sw.cpp @@ -1,14 +1,31 @@ -/*************************************************/ -/* spatial_sound_server_sw.cpp */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* spatial_sound_server_sw.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "spatial_sound_server_sw.h" #include "os/os.h" #include "servers/audio/audio_filter_sw.h" diff --git a/servers/spatial_sound/spatial_sound_server_sw.h b/servers/spatial_sound/spatial_sound_server_sw.h index a8ae7beb59..b4295bf145 100644 --- a/servers/spatial_sound/spatial_sound_server_sw.h +++ b/servers/spatial_sound/spatial_sound_server_sw.h @@ -1,14 +1,31 @@ -/*************************************************/ -/* spatial_sound_server_sw.h */ -/*************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/*************************************************/ -/* Source code within this file is: */ -/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */ -/* All Rights Reserved. */ -/*************************************************/ - +/*************************************************************************/ +/* spatial_sound_server_sw.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef SPATIAL_SOUND_SERVER_SW_H #define SPATIAL_SOUND_SERVER_SW_H diff --git a/servers/visual/shader_compiler.cpp b/servers/visual/shader_compiler.cpp deleted file mode 100644 index ee5dae5ae2..0000000000 --- a/servers/visual/shader_compiler.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* shader_compiler.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "shader_compiler.h" - diff --git a/servers/visual/shader_compiler.h b/servers/visual/shader_compiler.h deleted file mode 100644 index 29561b2145..0000000000 --- a/servers/visual/shader_compiler.h +++ /dev/null @@ -1,142 +0,0 @@ -/*************************************************************************/ -/* shader_compiler.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef SHADER_COMPILER_H -#define SHADER_COMPILER_H - -#include "map.h" -#include "list.h" -#include "vector.h" -#if 0 -class ShaderSyntax { -public: - - - enum DataType { - TYPE_BOOL, - TYPE_FLOAT, - TYPE_VEC3, - TYPE_TRANSFORM, - TYPE_TEXTURE - }; - - enum Operator { - OP_ASSIGN, - OP_ADD, - OP_SUB, - OP_MUL, - OP_DIV, - OP_NEG, - OP_CMP_EQ, - OP_CMP_NEQ, - OP_CMP_LEQ, - OP_CMP_GEQ, - OP_CMP_OR, - OP_CMP_AND, - OP_CALL - }; - - struct Node { - - enum Type { - TYPE_PROGRAM, - TYPE_FUNCTION, - TYPE_BLOCK, - TYPE_VARIABLE, - TYPE_OPERATOR, - TYPE_IF, - }; - - Node * parent; - Type type; - - virtual ~Node() {} - }; - - - struct OperatorNode : public Node { - - Operator op; - Vector<Node*> arguments; - OperatorNode() { type=TYPE_OPERATOR; } - }; - - struct VariableNode : public Node { - - StringName variable; - VariableNode() { type=TYPE_VARIABLE; } - }; - - struct BlockNode : public Node { - - Map<StringName,DataType> variables; - List<Node*> subnodes; - BlockNode() { type=TYPE_BLOCK; } - }; - - struct ConditionalNode : public Node { - - Node *test; - Node *do_if; - Node *do_else; - ConditionalNode() { type=TYPE_CONDITIONAL; } - }; - - - struct FunctionNode : public Node { - - struct Argument { - - StringName name; - DataType type; - }; - - Vector<Argument> arguments; - Node *body; - - FunctionNode() { type=TYPE_FUNCTION; } - - }; - - - struct ProgramNode : public Node { - - Vector<FunctionNode*> functions; - Node *body; - - ProgramNode() { type=TYPE_PROGRAM; } - }; - - - - - ShaderCompiler(); -}; - -#endif // SHADER_COMPILER_H -#endif diff --git a/servers/visual/shader_graph.cpp b/servers/visual/shader_graph.cpp deleted file mode 100644 index 7fe949bec3..0000000000 --- a/servers/visual/shader_graph.cpp +++ /dev/null @@ -1,455 +0,0 @@ -/*************************************************************************/ -/* shader_graph.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "shader_graph.h" - -#if 0 - - -struct _ConnectionKey { - - int node; - int slot; - - _FORCE_INLINE_ _ConnectionKey(int p_node=0,int p_slot=0) { node=p_node; slot=p_slot; } - - _FORCE_INLINE_ bool operator<(const _ConnectionKey& p_other) const { - - if (node<p_other.node) - return true; - else if (node>p_other.node) - return false; - else - return slot<p_other.slot; - } -}; - -Error ShaderGraph::generate(ShaderCodeGenerator * p_generator) const { - - Map<int,Node>::Element *E = node_map.front(); - int i=0; - while(E) { - - E->get().order=i++; - E->get().out_valid=false; - E->get().in_valid=false; - E=E->next(); - } - - int worst_case=connections.size() * connections.size(); // worst bubble case - int iterations=0; - int swaps; - - do { - swaps=0; - const List<Connection>::Element *E=connections.front(); - - while(E) { - - const Connection &c = E->get(); - - const Node *src = &node_map[c.src_id]; - const Node *dst = &node_map[c.dst_id]; - - if (src->order > dst->order) { - - SWAP(src->order, dst->order); - swaps++; - } - - E=E->next(); - } - - - iterations++; - - } while (iterations<=worst_case && swaps>0); - - ERR_FAIL_COND_V( swaps != 0 , ERR_CYCLIC_LINK ); - - //node array - Vector<const Node*> nodes; - nodes.resize(node_map.size()); - - E = node_map.front(); - while(E) { - - ERR_FAIL_INDEX_V( E->get().order, nodes.size(), ERR_BUG); - nodes[E->get().order]=&E->get(); - E=E->next(); - } - - //connection set - - Map<_ConnectionKey,int> in_connection_map; - Map<_ConnectionKey,List<int> > out_connection_map; - Map<_ConnectionKey,int> in_node_map; - Map<_ConnectionKey,List<int> > out_node_map; - - const List<Connection>::Element *CE=connections.front(); - i=0; - while(CE) { - const Connection &c = CE->get(); - - _ConnectionKey in_k; - in_k.node=node_map[c.dst_id].order; - in_k.slot=c.dst_slot; - in_connection_map[in_k]=i; - in_node_map[in_k]=node_map[c.src_id].order; - - _ConnectionKey out_k; - out_k.node=node_map[c.src_id].order; - out_k.slot=c.src_slot; - if (!out_connection_map.has(out_k)) - out_connection_map[out_k]=List<int>(); - out_connection_map[out_k].push_back(i); - if(!out_node_map.has(out_k)) - out_node_map[out_k]=List<int>(); - out_node_map[out_k].push_back(node_map[c.dst_id].order); - - i++; - CE=CE->next(); - } - - // validate nodes if they are connected to an output - - for(int i=nodes.size()-1;i>=0;i--) { - - if (VisualServer::shader_get_output_count(nodes[i]->type)==0) { - // an actual graph output - - _ConnectionKey in_k; - in_k.node=nodes[i]->order; - in_k.slot=0; - - if (in_node_map.has(in_k)) { - nodes[i]->out_valid=true; - } - } else { - // regular node - - bool valid=false; - for(int j=0;j<VS::shader_get_output_count(nodes[i]->type);j++) { - - _ConnectionKey key(nodes[i]->order,j); - - if (out_node_map.has(key)) { - for(List<int>::Element *CE=out_node_map[key].front();CE;CE=CE->next()) { - - int to_node=CE->get(); - ERR_CONTINUE(to_node<0 || to_node >=nodes.size()); - if (nodes[to_node]->out_valid) { - valid=true; - break; - } - - - } - } - if (valid) - break; - - } - - nodes[i]->out_valid=valid; - } - } - - // validate nodes if they are connected to an input - - for(int i=0;i<nodes.size();i++) { - - if (VisualServer::shader_get_input_count(nodes[i]->type)==0) { - // an actual graph input - - int out_count=VisualServer::shader_get_output_count(nodes[i]->type); - - - for(int j=0;j<out_count;j++) { - - _ConnectionKey out_k; - out_k.node=nodes[i]->order; - out_k.slot=j; - if (out_node_map.has(out_k)) { - nodes[i]->in_valid=true; - break; - } - } - - } else { - // regular node - // this is very important.. for a node to be valid, all its inputs need to be valid - bool valid=true; - for(int j=0;j<VS::shader_get_input_count(nodes[i]->type);j++) { - - - bool in_valid=false; - _ConnectionKey key(nodes[i]->order,j); - if (in_node_map.has(key)) { - - int from_node=in_node_map[key]; - ERR_CONTINUE(from_node<0 || from_node>=nodes.size()); - if (nodes[from_node]->in_valid) - in_valid=true; - - } - - if (!in_valid) { - valid=false; - break; - } - - } - - nodes[i]->in_valid=valid; - } - } - - // write code - - p_generator->begin(); - - for(int i=0;i<nodes.size();i++) { - - - if (!nodes[i]->out_valid || !nodes[i]->in_valid) // valid in both ways - continue; // skip node - - Vector<int> in_indices; - in_indices.resize(VS::shader_get_input_count(nodes[i]->type)); - Vector<int> out_indices; - Vector<int> out_slot_indices; - - for(int j=0;j<in_indices.size();j++) { - - _ConnectionKey key(nodes[i]->order,j); - if (in_connection_map.has(key)) - in_indices[j]=in_connection_map[key]; - else - in_indices[j]=-1; - } - - for(int j=0;j<VS::shader_get_output_count(nodes[i]->type);j++) { - - _ConnectionKey key(nodes[i]->order,j); - if (out_connection_map.has(key)) { - for(List<int>::Element *CE=out_connection_map[key].front();CE;CE=CE->next()) { - - out_indices.push_back(CE->get()); - out_slot_indices.push_back(j); - } - } - } - - Error err = p_generator->add_node(nodes[i]->type,i,nodes[i]->id,nodes[i]->param,in_indices,out_indices,out_slot_indices); - ERR_FAIL_COND_V( err, err ); - } - - p_generator->end(); - - - return OK; -} - -void ShaderGraph::node_add(VS::ShaderNodeType p_type,int p_id) { - - - ERR_FAIL_COND( node_map.has(p_id ) ); - ERR_FAIL_INDEX( p_type, VS::NODE_TYPE_MAX ); - Node node; - - node.type=p_type; - node.id=p_id; - node.x=0; - node.y=0; - - node_map[p_id]=node; - -} - -void ShaderGraph::node_set_pos(int p_id, int p_x,int p_y) { - - ERR_FAIL_COND(!node_map.has(p_id)); - node_map[p_id].x=p_x; - node_map[p_id].y=p_y; -} -int ShaderGraph::node_get_pos_x(int p_id) const { - - ERR_FAIL_COND_V(!node_map.has(p_id),-1); - return node_map[p_id].x; -} -int ShaderGraph::node_get_pos_y(int p_id) const { - - ERR_FAIL_COND_V(!node_map.has(p_id),-1); - return node_map[p_id].y; -} - -void ShaderGraph::node_remove(int p_id) { - - ERR_FAIL_COND(!node_map.has(p_id)); - - //erase connections associated with node - List<Connection>::Element *N,*E=connections.front(); - while(E) { - N=E->next(); - const Connection &c = E->get(); - if (c.src_id==p_id || c.dst_id==p_id) { - - connections.erase(E); - } - E=N; - } - - node_map.erase(p_id); -} - -void ShaderGraph::node_change_type(int p_id, VS::ShaderNodeType p_type) { - - ERR_FAIL_COND(!node_map.has(p_id)); - node_map[p_id].type=p_type; - node_map[p_id].param=Variant(); - -} - -void ShaderGraph::node_set_param(int p_id, const Variant& p_value) { - - ERR_FAIL_COND(!node_map.has(p_id)); - node_map[p_id].param=p_value; -} - -void ShaderGraph::get_node_list(List<int> *p_node_list) const { - - Map<int,Node>::Element *E = node_map.front(); - - while(E) { - - p_node_list->push_back(E->key()); - E=E->next(); - } -} - - -VS::ShaderNodeType ShaderGraph::node_get_type(int p_id) const { - - ERR_FAIL_COND_V(!node_map.has(p_id),VS::NODE_TYPE_MAX); - return node_map[p_id].type; -} - -Variant ShaderGraph::node_get_param(int p_id) const { - - ERR_FAIL_COND_V(!node_map.has(p_id),Variant()); - return node_map[p_id].param; -} - - -Error ShaderGraph::connect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) { - - ERR_FAIL_COND_V(p_src_id==p_dst_id, ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V(!node_map.has(p_src_id), ERR_INVALID_PARAMETER); - ERR_FAIL_COND_V(!node_map.has(p_dst_id), ERR_INVALID_PARAMETER); - VisualServer::ShaderNodeType type_src=node_map[p_src_id].type; - VisualServer::ShaderNodeType type_dst=node_map[p_dst_id].type; - ERR_FAIL_INDEX_V( p_src_slot, VisualServer::shader_get_output_count(type_src), ERR_INVALID_PARAMETER ); - ERR_FAIL_INDEX_V( p_dst_slot, VisualServer::shader_get_input_count(type_dst), ERR_INVALID_PARAMETER ); - ERR_FAIL_COND_V(VisualServer::shader_is_output_vector(type_src,p_src_slot) != VisualServer::shader_is_input_vector(type_dst,p_dst_slot), ERR_INVALID_PARAMETER ); - - - List<Connection>::Element *E=connections.front(); - while(E) { - const Connection &c = E->get(); - ERR_FAIL_COND_V(c.dst_slot==p_dst_slot && c.dst_id == p_dst_id, ERR_ALREADY_EXISTS); - - E=E->next(); - } - - Connection c; - c.src_slot=p_src_slot; - c.src_id=p_src_id; - c.dst_slot=p_dst_slot; - c.dst_id=p_dst_id; - - connections.push_back(c); - - return OK; -} - -bool ShaderGraph::is_connected(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const { - - const List<Connection>::Element *E=connections.front(); - while(E) { - const Connection &c = E->get(); - if (c.dst_slot==p_dst_slot && c.dst_id == p_dst_id && c.src_slot==p_src_slot && c.src_id == p_src_id) - return true; - - E=E->next(); - } - - return false; -} - -void ShaderGraph::disconnect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) { - - List<Connection>::Element *N,*E=connections.front(); - while(E) { - N=E->next(); - const Connection &c = E->get(); - if (c.src_slot==p_src_slot && c.src_id==p_src_id && c.dst_slot==p_dst_slot && c.dst_id == p_dst_id) { - - connections.erase(E); - } - E=N; - } - - -} - - -void ShaderGraph::clear() { - - connections.clear(); - node_map.clear(); -} - -List<ShaderGraph::Connection> ShaderGraph::get_connection_list() const { - - return connections; - -} - -ShaderGraph::ShaderGraph() { - - -} - - -ShaderGraph::~ShaderGraph() { - -} - - -#endif diff --git a/servers/visual/shader_graph.h b/servers/visual/shader_graph.h deleted file mode 100644 index 41df0f60f1..0000000000 --- a/servers/visual/shader_graph.h +++ /dev/null @@ -1,109 +0,0 @@ -/*************************************************************************/ -/* shader_graph.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - -#if 0 - -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ - -#include "servers/visual_server.h" -#include "map.h" - - -class ShaderCodeGenerator { -public: - - virtual void begin()=0; - virtual Error add_node(VS::ShaderNodeType p_type,int p_node_pos,int p_id,const Variant& p_param,const Vector<int>& p_in_connections,const Vector<int>& p_out_connections,const Vector<int>& p_out_connection_outputs)=0; - virtual void end()=0; - - virtual ~ShaderCodeGenerator() {} -}; - -class ShaderGraph { -public: - - - struct Connection { - - int src_id; - int src_slot; - int dst_id; - int dst_slot; - }; - -private: - struct Node { - - int16_t x,y; - VS::ShaderNodeType type; - Variant param; - int id; - mutable int order; // used for sorting - mutable bool out_valid; - mutable bool in_valid; - }; - - Map<int,Node> node_map; - - List<Connection> connections; - -public: - - Error generate(ShaderCodeGenerator * p_generator) const; - - void node_add(VS::ShaderNodeType p_type,int p_id); - void node_remove(int p_id); - void node_change_type(int p_id, VS::ShaderNodeType p_type); - void node_set_param(int p_id, const Variant& p_value); - - void node_set_pos(int p_id, int p_x,int p_y); - int node_get_pos_x(int p_id) const; - int node_get_pos_y(int p_id) const; - - void get_node_list(List<int> *p_node_list) const; - void get_sorted_node_list(List<int> *p_node_list) const; - VS::ShaderNodeType node_get_type(int p_id) const; - Variant node_get_param(int p_id) const; - - Error connect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot); - bool is_connected(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const; - void disconnect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot); - - void clear(); - - List<Connection> get_connection_list() const; - - - ShaderGraph(); - ~ShaderGraph(); - -}; -#endif diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h index dcaac6e8d2..0480d9f5cb 100644 --- a/servers/visual/visual_server_raster.h +++ b/servers/visual/visual_server_raster.h @@ -32,7 +32,7 @@ #include "servers/visual_server.h" #include "servers/visual/rasterizer.h" -#include "balloon_allocator.h" +#include "allocators.h" #include "octree.h" /** diff --git a/tools/editor/animation_editor.cpp b/tools/editor/animation_editor.cpp index 08b90b5408..dd3c3fee32 100644 --- a/tools/editor/animation_editor.cpp +++ b/tools/editor/animation_editor.cpp @@ -754,7 +754,7 @@ void AnimationKeyEditor::_menu_track(int p_type) { undo_redo->add_undo_method(animation.ptr(),"track_set_interpolation_type",idx,animation->track_get_interpolation_type(idx)); if (animation->track_get_type(idx)==Animation::TYPE_VALUE) { - undo_redo->add_undo_method(animation.ptr(),"value_track_set_continuous",idx,animation->value_track_is_continuous(idx)); + undo_redo->add_undo_method(animation.ptr(),"value_track_set_update_mode",idx,animation->value_track_get_update_mode(idx)); } @@ -918,7 +918,7 @@ void AnimationKeyEditor::_menu_track(int p_type) { pos=animation->get_length(); timeline_pos=pos; track_pos->update(); - emit_signal("timeline_changed",pos); + emit_signal("timeline_changed",pos,true); } break; case TRACK_MENU_PREV_STEP: { @@ -934,7 +934,7 @@ void AnimationKeyEditor::_menu_track(int p_type) { pos=0; timeline_pos=pos; track_pos->update(); - emit_signal("timeline_changed",pos); + emit_signal("timeline_changed",pos,true); } break; @@ -1169,8 +1169,9 @@ void AnimationKeyEditor::_track_editor_draw() { get_icon("InterpCubic","EditorIcons") }; Ref<Texture> cont_icon[3]={ + get_icon("TrackContinuous","EditorIcons"), get_icon("TrackDiscrete","EditorIcons"), - get_icon("TrackContinuous","EditorIcons") + get_icon("TrackTrigger","EditorIcons") }; Ref<Texture> type_icon[3]={ get_icon("KeyValue","EditorIcons"), @@ -1442,15 +1443,15 @@ void AnimationKeyEditor::_track_editor_draw() { if (animation->track_get_type(idx)==Animation::TYPE_VALUE) { - int continuous = animation->value_track_is_continuous(idx)?1:0; + int umode = animation->value_track_get_update_mode(idx); icon_ofs.x-=hsep; icon_ofs.x-=down_icon->get_width(); te->draw_texture(down_icon,icon_ofs); icon_ofs.x-=hsep; - icon_ofs.x-=cont_icon[continuous]->get_width(); - te->draw_texture(cont_icon[continuous],icon_ofs); + icon_ofs.x-=cont_icon[umode]->get_width(); + te->draw_texture(cont_icon[umode],icon_ofs); } else { icon_ofs.x -= hsep*2 + cont_icon[0]->get_width() + down_icon->get_width(); @@ -1626,8 +1627,8 @@ void AnimationKeyEditor::_track_menu_selected(int p_idx) { ERR_FAIL_INDEX(cont_editing,animation->get_track_count()); undo_redo->create_action(TTR("Anim Track Change Value Mode")); - undo_redo->add_do_method(animation.ptr(),"value_track_set_continuous",cont_editing,p_idx); - undo_redo->add_undo_method(animation.ptr(),"value_track_set_continuous",cont_editing,animation->value_track_is_continuous(cont_editing)); + undo_redo->add_do_method(animation.ptr(),"value_track_set_update_mode",cont_editing,p_idx); + undo_redo->add_undo_method(animation.ptr(),"value_track_set_update_mode",cont_editing,animation->value_track_get_update_mode(cont_editing)); undo_redo->commit_action(); } @@ -1820,8 +1821,9 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { get_icon("InterpCubic","EditorIcons") }; Ref<Texture> cont_icon[3]={ + get_icon("TrackContinuous","EditorIcons"), get_icon("TrackDiscrete","EditorIcons"), - get_icon("TrackContinuous","EditorIcons") + get_icon("TrackTrigger","EditorIcons") }; Ref<Texture> type_icon[3]={ get_icon("KeyValue","EditorIcons"), @@ -1972,7 +1974,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { click.click=ClickOver::CLICK_DRAG_TIMELINE; click.at=Point2(mb.x,mb.y); click.to=click.at; - emit_signal("timeline_changed",pos); + emit_signal("timeline_changed",pos,false); } @@ -2184,8 +2186,8 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { track_menu->clear(); track_menu->set_size(Point2(1,1)); - static const char *cont_name[3]={"Discrete","Continuous"}; - for(int i=0;i<2;i++) { + String cont_name[3]={TTR("Continuous"),TTR("Discrete"),TTR("Trigger")}; + for(int i=0;i<3;i++) { track_menu->add_icon_item(cont_icon[i],cont_name[i]); } @@ -2594,7 +2596,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) { } timeline_pos=pos; - emit_signal("timeline_changed",pos); + emit_signal("timeline_changed",pos,true); @@ -2920,6 +2922,7 @@ void AnimationKeyEditor::_notification(int p_what) { edit_button->connect("pressed",this,"_toggle_edit_curves"); loop->set_icon(get_icon("Loop","EditorIcons")); + loop_interpolation->set_icon(get_icon("LoopInterpolation","EditorIcons")); curve_edit->connect("transition_changed",this,"_curve_transition_changed"); //edit_button->add_color_override("font_color",get_color("font_color","Tree")); @@ -2940,8 +2943,9 @@ void AnimationKeyEditor::_notification(int p_what) { get_icon("InterpCubic","EditorIcons") }; Ref<Texture> cont_icon[3]={ + get_icon("TrackContinuous","EditorIcons"), get_icon("TrackDiscrete","EditorIcons"), - get_icon("TrackContinuous","EditorIcons") + get_icon("TrackTrigger","EditorIcons") }; //right_data_size_cache = remove_icon->get_width() + move_up_icon->get_width() + move_down_icon->get_width() + down_icon->get_width() *2 + interp_icon[0]->get_width() + cont_icon[0]->get_width() + add_key_icon->get_width() + hsep*11; @@ -3009,6 +3013,7 @@ void AnimationKeyEditor::_update_menu() { length->set_val(animation->get_length()); loop->set_pressed(animation->has_loop()); + loop_interpolation->set_pressed(animation->has_loop_interpolation()); step->set_val(animation->get_step()); } @@ -3311,7 +3316,7 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) { created=true; undo_redo->create_action(TTR("Anim Insert Track & Key")); - bool continuous=false; + Animation::UpdateMode update_mode=Animation::UPDATE_DISCRETE; if (p_id.type==Animation::TYPE_VALUE) { //wants a new tack @@ -3324,16 +3329,21 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) { PropertyInfo h = _find_hint_for_track(animation->get_track_count()-1,np); animation->remove_track(animation->get_track_count()-1); //hack - - continuous = - h.type==Variant::REAL || + if ( h.type==Variant::REAL || h.type==Variant::VECTOR2 || h.type==Variant::RECT2 || h.type==Variant::VECTOR3 || h.type==Variant::_AABB || h.type==Variant::QUAT || h.type==Variant::COLOR || - h.type==Variant::TRANSFORM ; + h.type==Variant::TRANSFORM ) { + + update_mode=Animation::UPDATE_CONTINUOUS; + } + + if (h.usage&PROPERTY_USAGE_ANIMATE_AS_TRIGGER) { + update_mode=Animation::UPDATE_TRIGGER; + } } } @@ -3342,7 +3352,7 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) { undo_redo->add_do_method(animation.ptr(),"add_track",p_id.type); undo_redo->add_do_method(animation.ptr(),"track_set_path",p_id.track_idx,p_id.path); if (p_id.type==Animation::TYPE_VALUE) - undo_redo->add_do_method(animation.ptr(),"value_track_set_continuous",p_id.track_idx,continuous); + undo_redo->add_do_method(animation.ptr(),"value_track_set_update_mode",p_id.track_idx,update_mode); } else { undo_redo->create_action(TTR("Anim Insert Key")); @@ -3459,6 +3469,21 @@ void AnimationKeyEditor::_animation_loop_changed() { } +void AnimationKeyEditor::_animation_loop_interpolation_changed() { + + if (updating) + return; + + if (!animation.is_null()) { + + undo_redo->create_action(TTR("Change Anim Loop Interpolation")); + undo_redo->add_do_method(animation.ptr(),"set_loop_interpolation",loop_interpolation->is_pressed()); + undo_redo->add_undo_method(animation.ptr(),"set_loop_interpolation",!loop_interpolation->is_pressed()); + undo_redo->commit_action(); + } + +} + void AnimationKeyEditor::_create_value_item(int p_type) { @@ -3536,7 +3561,7 @@ void AnimationKeyEditor::_insert_delay() { pos=animation->get_length(); timeline_pos=pos; track_pos->update(); - emit_signal("timeline_changed",pos); + emit_signal("timeline_changed",pos,true); } insert_queue=false; } @@ -3744,6 +3769,7 @@ void AnimationKeyEditor::_bind_methods() { ObjectTypeDB::bind_method(_MD("_animation_loop_changed"),&AnimationKeyEditor::_animation_loop_changed); + ObjectTypeDB::bind_method(_MD("_animation_loop_interpolation_changed"),&AnimationKeyEditor::_animation_loop_interpolation_changed); ObjectTypeDB::bind_method(_MD("_animation_len_changed"),&AnimationKeyEditor::_animation_len_changed); ObjectTypeDB::bind_method(_MD("_create_value_item"),&AnimationKeyEditor::_create_value_item); ObjectTypeDB::bind_method(_MD("_pane_drag"),&AnimationKeyEditor::_pane_drag); @@ -3759,7 +3785,7 @@ void AnimationKeyEditor::_bind_methods() { ADD_SIGNAL( MethodInfo("resource_selected", PropertyInfo( Variant::OBJECT, "res"),PropertyInfo( Variant::STRING, "prop") ) ); ADD_SIGNAL( MethodInfo("keying_changed" ) ); - ADD_SIGNAL( MethodInfo("timeline_changed", PropertyInfo(Variant::REAL,"pos") ) ); + ADD_SIGNAL( MethodInfo("timeline_changed", PropertyInfo(Variant::REAL,"pos"), PropertyInfo(Variant::BOOL,"drag") ) ); ADD_SIGNAL( MethodInfo("animation_len_changed", PropertyInfo(Variant::REAL,"len") ) ); ADD_SIGNAL( MethodInfo("animation_step_changed", PropertyInfo(Variant::REAL,"step") ) ); ADD_SIGNAL( MethodInfo("key_edited", PropertyInfo(Variant::INT,"track"), PropertyInfo(Variant::INT,"key") ) ); @@ -3854,6 +3880,12 @@ AnimationKeyEditor::AnimationKeyEditor() { hb->add_child(loop); loop->set_tooltip(TTR("Enable/Disable looping in animation.")); + loop_interpolation = memnew( ToolButton ); + loop_interpolation->set_toggle_mode(true); + loop_interpolation->connect("pressed",this,"_animation_loop_interpolation_changed"); + hb->add_child(loop_interpolation); + loop_interpolation->set_tooltip(TTR("Enable/Disable interpolation when looping animation.")); + hb->add_child( memnew( VSeparator ) ); menu_add_track = memnew( MenuButton ); diff --git a/tools/editor/animation_editor.h b/tools/editor/animation_editor.h index 413c73b4b9..c8de1d87c1 100644 --- a/tools/editor/animation_editor.h +++ b/tools/editor/animation_editor.h @@ -173,6 +173,7 @@ class AnimationKeyEditor : public VBoxContainer { //MenuButton *menu; SpinBox *length; Button *loop; + Button *loop_interpolation; bool keying; ToolButton *edit_button; ToolButton *move_up_button; @@ -238,6 +239,7 @@ class AnimationKeyEditor : public VBoxContainer { void _animation_len_changed(float p_len); void _animation_loop_changed(); + void _animation_loop_interpolation_changed(); void _step_changed(float p_len); struct InsertData { diff --git a/tools/editor/array_property_edit.cpp b/tools/editor/array_property_edit.cpp index 1ff6e644d7..b6219ce67b 100644 --- a/tools/editor/array_property_edit.cpp +++ b/tools/editor/array_property_edit.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* array_property_edit.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "array_property_edit.h" #include "editor_node.h" diff --git a/tools/editor/array_property_edit.h b/tools/editor/array_property_edit.h index 948b2a71a3..a2aa24c8ed 100644 --- a/tools/editor/array_property_edit.h +++ b/tools/editor/array_property_edit.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* array_property_edit.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef ARRAY_PROPERTY_EDIT_H #define ARRAY_PROPERTY_EDIT_H diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp index be5d9c47ff..644478923c 100644 --- a/tools/editor/code_editor.cpp +++ b/tools/editor/code_editor.cpp @@ -30,6 +30,7 @@ #include "editor_settings.h" #include "scene/gui/margin_container.h" #include "scene/gui/separator.h" +#include "scene/resources/dynamic_font.h" #include "os/keyboard.h" void GotoLineDialog::popup_find_line(TextEdit *p_edit) { @@ -974,6 +975,48 @@ FindReplaceDialog::FindReplaceDialog() { /*** CODE EDITOR ****/ +void CodeTextEditor::_text_editor_input_event(const InputEvent& p_event) { + + if (p_event.type==InputEvent::MOUSE_BUTTON) { + + const InputEventMouseButton& mb=p_event.mouse_button; + + if (mb.pressed && mb.mod.command) { + + if (mb.button_index==BUTTON_WHEEL_UP) { + + font_resize_val+=1; + + if (font_resize_timer->get_time_left()==0) + font_resize_timer->start(); + + } else if (mb.button_index==BUTTON_WHEEL_DOWN) { + + font_resize_val-=1; + + if (font_resize_timer->get_time_left()==0) + font_resize_timer->start(); + } + } + } else if (p_event.type==InputEvent::KEY) { + + const InputEventKey& k=p_event.key; + + if (k.pressed && k.mod.command) { + + if (k.scancode==KEY_0) { // reset source font size to default + + Ref<DynamicFont> font = text_editor->get_font("font"); + + if (font.is_valid()) { + EditorSettings::get_singleton()->set("global/source_font_size",14); + font->set_size(14); + } + } + } + } +} + void CodeTextEditor::_line_col_changed() { String text = String()+TTR("Line:")+" "+itos(text_editor->cursor_get_line()+1)+", "+TTR("Col:")+" "+itos(text_editor->cursor_get_column()); @@ -1011,6 +1054,22 @@ void CodeTextEditor::_complete_request() { text_editor->code_complete(strs); } +void CodeTextEditor::_font_resize_timeout() { + + Ref<DynamicFont> font = text_editor->get_font("font"); + + if (font.is_valid()) { + int size=font->get_size()+font_resize_val; + + if (size>=8 && size<=96) { + EditorSettings::get_singleton()->set("global/source_font_size",size); + font->set_size(size); + } + + font_resize_val=0; + } +} + void CodeTextEditor::set_error(const String& p_error) { if (p_error!="") { @@ -1026,15 +1085,15 @@ void CodeTextEditor::_update_font() { // FONTS String editor_font = EDITOR_DEF("text_editor/font", ""); - bool font_overrode = false; + bool font_overridden = false; if (editor_font!="") { Ref<Font> fnt = ResourceLoader::load(editor_font); if (fnt.is_valid()) { text_editor->add_font_override("font",fnt); - font_overrode = true; + font_overridden = true; } } - if(!font_overrode) + if(!font_overridden) text_editor->add_font_override("font",get_font("source","EditorFonts")); } @@ -1078,12 +1137,14 @@ void CodeTextEditor::_notification(int p_what) { void CodeTextEditor::_bind_methods() { + ObjectTypeDB::bind_method("_text_editor_input_event",&CodeTextEditor::_text_editor_input_event); ObjectTypeDB::bind_method("_line_col_changed",&CodeTextEditor::_line_col_changed); ObjectTypeDB::bind_method("_text_changed",&CodeTextEditor::_text_changed); ObjectTypeDB::bind_method("_on_settings_change",&CodeTextEditor::_on_settings_change); ObjectTypeDB::bind_method("_text_changed_idle_timeout",&CodeTextEditor::_text_changed_idle_timeout); ObjectTypeDB::bind_method("_code_complete_timer_timeout",&CodeTextEditor::_code_complete_timer_timeout); ObjectTypeDB::bind_method("_complete_request",&CodeTextEditor::_complete_request); + ObjectTypeDB::bind_method("_font_resize_timeout",&CodeTextEditor::_font_resize_timeout); } CodeTextEditor::CodeTextEditor() { @@ -1139,6 +1200,7 @@ CodeTextEditor::CodeTextEditor() { line_col->set_valign(Label::VALIGN_CENTER); + text_editor->connect("input_event", this,"_text_editor_input_event"); text_editor->connect("cursor_changed", this,"_line_col_changed"); text_editor->connect("text_changed", this,"_text_changed"); text_editor->connect("request_completion", this,"_complete_request"); @@ -1151,5 +1213,12 @@ CodeTextEditor::CodeTextEditor() { code_complete_timer->connect("timeout", this,"_code_complete_timer_timeout"); + font_resize_val=0; + font_resize_timer = memnew(Timer); + add_child(font_resize_timer); + font_resize_timer->set_one_shot(true); + font_resize_timer->set_wait_time(0.07); + font_resize_timer->connect("timeout", this, "_font_resize_timeout"); + EditorSettings::get_singleton()->connect("settings_changed",this,"_on_settings_change"); } diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h index 2e1bf46c02..bdfd295ded 100644 --- a/tools/editor/code_editor.h +++ b/tools/editor/code_editor.h @@ -202,22 +202,27 @@ class CodeTextEditor : public VBoxContainer { Timer *code_complete_timer; bool enable_complete_timer; + Timer *font_resize_timer; + int font_resize_val; + Label *error; void _on_settings_change(); void _update_font(); void _complete_request(); + void _font_resize_timeout(); + + void _text_editor_input_event(const InputEvent& p_event); + protected: void set_error(const String& p_error); - virtual void _load_theme_settings() {} virtual void _validate_script()=0; virtual void _code_complete_script(const String& p_code, List<String>* r_options) {}; - void _text_changed_idle_timeout(); void _code_complete_timer_timeout(); void _text_changed(); @@ -225,7 +230,6 @@ protected: void _notification(int); static void _bind_methods(); - public: TextEdit *get_text_edit() { return text_editor; } diff --git a/tools/editor/connections_dialog.cpp b/tools/editor/connections_dialog.cpp index 8847654ad7..faaae4360b 100644 --- a/tools/editor/connections_dialog.cpp +++ b/tools/editor/connections_dialog.cpp @@ -309,7 +309,7 @@ ConnectDialog::ConnectDialog() { tree = memnew(SceneTreeEditor(false)); - vbc_left->add_margin_child(TTR("Conect To Node:"),tree,true); + vbc_left->add_margin_child(TTR("Connect To Node:"),tree,true); diff --git a/tools/editor/default_saver.cpp b/tools/editor/default_saver.cpp deleted file mode 100644 index 611232e04b..0000000000 --- a/tools/editor/default_saver.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* default_saver.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/tools/editor/default_saver.h b/tools/editor/default_saver.h deleted file mode 100644 index 2b1a1edb23..0000000000 --- a/tools/editor/default_saver.h +++ /dev/null @@ -1,35 +0,0 @@ -/*************************************************************************/ -/* default_saver.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef DEFAULT_SAVER_H -#define DEFAULT_SAVER_H - - - - -#endif // DEFAULT_SAVER_H diff --git a/tools/editor/dependency_editor.cpp b/tools/editor/dependency_editor.cpp index 6ad7704815..ad2eb57f00 100644 --- a/tools/editor/dependency_editor.cpp +++ b/tools/editor/dependency_editor.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* dependency_editor.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "dependency_editor.h" #include "os/file_access.h" #include "scene/gui/margin_container.h" diff --git a/tools/editor/dependency_editor.h b/tools/editor/dependency_editor.h index c372025ca0..60758f8f4e 100644 --- a/tools/editor/dependency_editor.h +++ b/tools/editor/dependency_editor.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* dependency_editor.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef DEPENDENCY_EDITOR_H #define DEPENDENCY_EDITOR_H diff --git a/tools/editor/editor_asset_installer.cpp b/tools/editor/editor_asset_installer.cpp index 2967abbc0a..ec36773d8d 100644 --- a/tools/editor/editor_asset_installer.cpp +++ b/tools/editor/editor_asset_installer.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_asset_installer.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_asset_installer.h" #include "io/zip_io.h" #include "os/dir_access.h" diff --git a/tools/editor/editor_asset_installer.h b/tools/editor/editor_asset_installer.h index 713c5f14f1..d6e71dbb3c 100644 --- a/tools/editor/editor_asset_installer.h +++ b/tools/editor/editor_asset_installer.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_asset_installer.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITORASSETINSTALLER_H #define EDITORASSETINSTALLER_H diff --git a/tools/editor/editor_data.h b/tools/editor/editor_data.h index 79843c4df5..319155655d 100644 --- a/tools/editor/editor_data.h +++ b/tools/editor/editor_data.h @@ -34,7 +34,6 @@ #include "list.h" #include "undo_redo.h" #include "pair.h" -#include "default_saver.h" class EditorHistory { diff --git a/tools/editor/editor_dir_dialog.cpp b/tools/editor/editor_dir_dialog.cpp index 395c4ba680..a6e231cf18 100644 --- a/tools/editor/editor_dir_dialog.cpp +++ b/tools/editor/editor_dir_dialog.cpp @@ -30,6 +30,7 @@ #include "os/os.h" #include "os/keyboard.h" #include "tools/editor/editor_settings.h" +#include "tools/editor/editor_file_system.h" void EditorDirDialog::_update_dir(TreeItem* p_item) { @@ -77,6 +78,11 @@ void EditorDirDialog::_update_dir(TreeItem* p_item) { void EditorDirDialog::reload() { + if (!is_visible()) { + must_reload=true; + return; + } + tree->clear(); TreeItem *root = tree->create_item(); root->set_metadata(0,"res://"); @@ -84,13 +90,24 @@ void EditorDirDialog::reload() { root->set_text(0,"/"); _update_dir(root); _item_collapsed(root); + must_reload=false; + } + void EditorDirDialog::_notification(int p_what) { if (p_what==NOTIFICATION_ENTER_TREE) { reload(); tree->connect("item_collapsed",this,"_item_collapsed",varray(),CONNECT_DEFERRED); + EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"reload"); + + } + + if (p_what==NOTIFICATION_VISIBILITY_CHANGED) { + if (must_reload && is_visible()) { + reload(); + } } } @@ -198,6 +215,7 @@ void EditorDirDialog::_bind_methods() { ObjectTypeDB::bind_method(_MD("_item_collapsed"),&EditorDirDialog::_item_collapsed); ObjectTypeDB::bind_method(_MD("_make_dir"),&EditorDirDialog::_make_dir); ObjectTypeDB::bind_method(_MD("_make_dir_confirm"),&EditorDirDialog::_make_dir_confirm); + ObjectTypeDB::bind_method(_MD("reload"),&EditorDirDialog::reload); ADD_SIGNAL(MethodInfo("dir_selected",PropertyInfo(Variant::STRING,"dir"))); } @@ -238,4 +256,8 @@ EditorDirDialog::EditorDirDialog() { get_ok()->set_text(TTR("Choose")); + must_reload=false; + + + } diff --git a/tools/editor/editor_dir_dialog.h b/tools/editor/editor_dir_dialog.h index 1c2593219c..69f9850c30 100644 --- a/tools/editor/editor_dir_dialog.h +++ b/tools/editor/editor_dir_dialog.h @@ -53,6 +53,10 @@ class EditorDirDialog : public ConfirmationDialog { void _make_dir_confirm(); void ok_pressed(); + + bool must_reload; + + protected: void _notification(int p_what); diff --git a/tools/editor/editor_file_dialog.cpp b/tools/editor/editor_file_dialog.cpp index e631aad7f6..97feaa80a5 100644 --- a/tools/editor/editor_file_dialog.cpp +++ b/tools/editor/editor_file_dialog.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_file_dialog.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_file_dialog.h" #include "scene/gui/label.h" #include "scene/gui/center_container.h" @@ -352,7 +380,7 @@ void EditorFileDialog::_action_pressed() { } - if (dir_access->file_exists(f)) { + if (dir_access->file_exists(f) && !disable_overwrite_warning) { confirm_save->set_text(TTR("File Exists, Overwrite?")); confirm_save->popup_centered(Size2(200,80)); } else { @@ -508,6 +536,11 @@ void EditorFileDialog::update_file_list() { } } + if (dirs.find("..")==NULL) { + //may happen if lacking permissions + dirs.push_back(".."); + } + dirs.sort_custom<NoCaseComparator>(); files.sort_custom<NoCaseComparator>(); @@ -1129,6 +1162,8 @@ void EditorFileDialog::_bind_methods() { ObjectTypeDB::bind_method(_MD("set_display_mode","mode"),&EditorFileDialog::set_display_mode); ObjectTypeDB::bind_method(_MD("get_display_mode"),&EditorFileDialog::get_display_mode); ObjectTypeDB::bind_method(_MD("_thumbnail_result"),&EditorFileDialog::_thumbnail_result); + ObjectTypeDB::bind_method(_MD("set_disable_overwrite_warning","disable"),&EditorFileDialog::set_disable_overwrite_warning); + ObjectTypeDB::bind_method(_MD("is_overwrite_warning_disabled"),&EditorFileDialog::is_overwrite_warning_disabled); ObjectTypeDB::bind_method(_MD("_recent_selected"),&EditorFileDialog::_recent_selected); ObjectTypeDB::bind_method(_MD("_go_back"),&EditorFileDialog::_go_back); @@ -1202,12 +1237,23 @@ void EditorFileDialog::_save_to_recent() { } +void EditorFileDialog::set_disable_overwrite_warning(bool p_disable) { + + disable_overwrite_warning=p_disable; +} + +bool EditorFileDialog::is_overwrite_warning_disabled() const{ + + return disable_overwrite_warning; +} + + EditorFileDialog::EditorFileDialog() { show_hidden_files=default_show_hidden_files; display_mode=default_display_mode; local_history_pos=0; - + disable_overwrite_warning=false; VBoxContainer *vbc = memnew( VBoxContainer ); add_child(vbc); set_child_rect(vbc); @@ -1433,4 +1479,5 @@ EditorLineEditFileChooser::EditorLineEditFileChooser() { dialog->connect("dir_selected",this,"_chosen"); dialog->connect("files_selected",this,"_chosen"); + } diff --git a/tools/editor/editor_file_dialog.h b/tools/editor/editor_file_dialog.h index a8f62a5226..14683856c0 100644 --- a/tools/editor/editor_file_dialog.h +++ b/tools/editor/editor_file_dialog.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* file_dialog.h */ +/* editor_file_dialog.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -26,8 +26,6 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ - - #ifndef EDITORFILEDIALOG_H #define EDITORFILEDIALOG_H @@ -132,6 +130,7 @@ private: bool show_hidden_files; DisplayMode display_mode; + bool disable_overwrite_warning; bool invalidated; void update_dir(); @@ -218,6 +217,9 @@ public: void invalidate(); + void set_disable_overwrite_warning(bool p_disable); + bool is_overwrite_warning_disabled() const; + EditorFileDialog(); ~EditorFileDialog(); diff --git a/tools/editor/editor_fonts.cpp b/tools/editor/editor_fonts.cpp index 7ec22a4068..47891eef6c 100644 --- a/tools/editor/editor_fonts.cpp +++ b/tools/editor/editor_fonts.cpp @@ -157,12 +157,18 @@ void editor_register_fonts(Ref<Theme> p_theme) { p_theme->set_font("doc_source","EditorFonts",df_doc_code); + if (editor_is_hidpi()) { //replace default theme Ref<Texture> di; Ref<StyleBox> ds; fill_default_theme(p_theme,df,df_doc,di,ds,true); + } else { + Ref<Texture> di; + Ref<StyleBox> ds; + fill_default_theme(p_theme,df,df_doc,di,ds,false); + } } diff --git a/tools/editor/editor_initialize_ssl.cpp b/tools/editor/editor_initialize_ssl.cpp index e0602a88c7..c0b55b302f 100644 --- a/tools/editor/editor_initialize_ssl.cpp +++ b/tools/editor/editor_initialize_ssl.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_initialize_ssl.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_initialize_ssl.h" #include "certs_compressed.h" #include "io/stream_peer_ssl.h" diff --git a/tools/editor/editor_initialize_ssl.h b/tools/editor/editor_initialize_ssl.h index 4eaf387a0a..082d546832 100644 --- a/tools/editor/editor_initialize_ssl.h +++ b/tools/editor/editor_initialize_ssl.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_initialize_ssl.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_INITIALIZE_SSL_H #define EDITOR_INITIALIZE_SSL_H diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp index 1132db5991..5a3e3069e4 100644 --- a/tools/editor/editor_node.cpp +++ b/tools/editor/editor_node.cpp @@ -29,8 +29,7 @@ #include "version.h" #include "editor_node.h" #include "print_string.h" -#include "editor_icons.h" -#include "editor_fonts.h" +#include "editor_themes.h" #include "editor_help.h" #include "core/io/resource_saver.h" @@ -206,6 +205,18 @@ void EditorNode::_unhandled_input(const InputEvent& p_event) { case KEY_F6: _menu_option_confirm(RUN_PLAY_SCENE,true); break; //case KEY_F7: _menu_option_confirm(RUN_PAUSE,true); break; case KEY_F8: _menu_option_confirm(RUN_STOP,true); break;*/ + case KEY_TAB: + if (p_event.key.mod.command) { + int current_tab = editor_data.get_edited_scene(); + int tab_offset = 1; + if (p_event.key.mod.shift) + tab_offset = -1; + int next_tab = current_tab + tab_offset; + next_tab = next_tab >= 0 ? next_tab : editor_data.get_edited_scene_count() - 1; + next_tab %= editor_data.get_edited_scene_count(); + _scene_tab_changed(next_tab); + } + break; } } @@ -743,100 +754,6 @@ void EditorNode::_set_scene_metadata(const String& p_file) { } -static Error _fix_object_paths(Object* obj, Node* root, String save_path) { - - Globals* g = Globals::get_singleton(); - - String import_dir = root->get_meta("__editor_import_file__"); - import_dir = import_dir.get_base_dir(); - import_dir = DirAccess::normalize_path(import_dir); - if (import_dir[import_dir.length()-1] != '/') { - import_dir = import_dir + "/"; - }; - - String resource_dir = DirAccess::normalize_path(g->get_resource_path()); - if (resource_dir[resource_dir.length()-1] != '/') { - resource_dir = resource_dir + "/"; - }; - - - List<PropertyInfo> list; - obj->get_property_list(&list, false); - - List<PropertyInfo>::Element *E = list.front(); - - while (E) { - - Variant v = obj->get(E->get().name); - if (v.get_type() == Variant::OBJECT) { - - Ref<Resource> res = (RefPtr)v; - if (res.is_null()) { - E = E->next(); - continue; - } - - if (res->get_path() != "") { - - String res_path = res->get_path(); - res_path = Globals::get_singleton()->globalize_path(res_path); - res_path = DirAccess::normalize_path(res_path); - - if (res_path.find(resource_dir) != 0) { - - // path of resource is not inside engine's resource path - - String new_path; - - if (res_path.find(import_dir) == 0) { - - // path of resource is relative to path of import file - new_path = save_path + "/" + res_path.substr(import_dir.length(), res_path.length() - import_dir.length()); - - } else { - - // path of resource is not relative to import file - new_path = save_path + "/" + res_path.get_file(); - }; - - res->set_path(g->localize_path(new_path)); - DirAccess* d = DirAccess::create(DirAccess::ACCESS_RESOURCES); - d->make_dir_recursive(new_path.get_base_dir()); - printf("copying from %ls to %ls\n", res_path.c_str(), new_path.c_str()); - Error err = d->copy(res_path, new_path); - memdelete(d); - ERR_FAIL_COND_V(err != OK, err); - } - - } else { - - _fix_object_paths(res.operator->(), root, save_path); - }; - }; - - - E = E->next(); - }; - - return OK; -}; - -static Error _fix_imported_scene_paths(Node* node, Node* root, String save_path) { - - if (node == root || node->get_owner() == root) { - Error e = _fix_object_paths(node, root, save_path); - ERR_FAIL_COND_V(e != OK, e); - }; - - for (int i=0; i<node->get_child_count(); i++) { - - Error e = _fix_imported_scene_paths(node->get_child(i), root, save_path); - ERR_FAIL_COND_V(e != OK, e); - }; - - return OK; -}; - bool EditorNode::_find_and_save_resource(RES res,Map<RES,bool>& processed,int32_t flags) { @@ -1253,7 +1170,6 @@ void EditorNode::_dialog_action(String p_file) { } break; case FILE_RUN_SCRIPT: { - print_line("RUN: "+p_file); Ref<Script> scr = ResourceLoader::load(p_file,"Script",true); if (scr.is_null()) { add_io_error("Script Failed to Load:\n"+p_file); @@ -1397,7 +1313,6 @@ void EditorNode::_dialog_action(String p_file) { ret = unzGoToFirstFile(pkg); EditorProgress p("ltask",TTR("Loading Export Templates"),fc); - print_line("BEGIN IMPORT"); fc=0; @@ -1427,7 +1342,6 @@ void EditorNode::_dialog_action(String p_file) { file=file.get_file(); p.step(TTR("Importing:")+" "+file,fc); - print_line("IMPORT "+file); FileAccess *f = FileAccess::open(EditorSettings::get_singleton()->get_settings_path()+"/templates/"+file,FileAccess::WRITE); @@ -2215,7 +2129,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) { String existing; if (extensions.size()) { String root_name(get_edited_scene()->get_name()); - existing=root_name+"."+extensions.front()->get().to_lower(); + existing=root_name+".tscn";//+extensions.front()->get().to_lower(); } file->set_current_path(existing); @@ -3646,7 +3560,6 @@ Error EditorNode::load_scene(const String& p_scene, bool p_ignore_broken_deps,bo load_errors->clear(); String lpath = Globals::get_singleton()->localize_path(p_scene); - print_line("LOCAL PATH: "+lpath+" from "+p_scene); if (!lpath.begins_with("res://")) { current_option=-1; @@ -4293,7 +4206,6 @@ void EditorNode::_dock_select_input(const InputEvent& p_input) { dock_slot[dock_popup_selected]->set_current_tab(0); } - print_line("performing reparent"); dock_slot[nrect]->add_child(dock); dock_popup_selected=nrect; dock_slot[nrect]->set_current_tab(dock_slot[nrect]->get_tab_count()-1); @@ -4706,9 +4618,9 @@ void EditorNode::_update_layouts_menu() { editor_layouts->set_size(Vector2()); editor_layouts->add_shortcut(ED_SHORTCUT("layout/save",TTR("Save Layout")), SETTINGS_LAYOUT_SAVE); - editor_layouts->add_shortcut(ED_SHORTCUT("layout/load",TTR("Load Layout")), SETTINGS_LAYOUT_DELETE); + editor_layouts->add_shortcut(ED_SHORTCUT("layout/delete",TTR("Delete Layout")), SETTINGS_LAYOUT_DELETE); editor_layouts->add_separator(); - editor_layouts->add_shortcut(ED_SHORTCUT("property_editor/reset",TTR("Default")), SETTINGS_LAYOUT_DEFAULT); + editor_layouts->add_shortcut(ED_SHORTCUT("layout/default",TTR("Default")), SETTINGS_LAYOUT_DEFAULT); Ref<ConfigFile> config; config.instance(); @@ -5267,7 +5179,6 @@ EditorNode::EditorNode() { EditorSettings::create(); { int dpi_mode = EditorSettings::get_singleton()->get("global/hidpi_mode"); - print_line("DPI MODE: "+itos(dpi_mode)); if (dpi_mode==0) { editor_set_hidpi( OS::get_singleton()->get_screen_dpi(0) > 150 ); } else if (dpi_mode==2) { @@ -5318,38 +5229,18 @@ EditorNode::EditorNode() { ObjectTypeDB::set_type_enabled("CollisionShape",true); ObjectTypeDB::set_type_enabled("CollisionShape2D",true); ObjectTypeDB::set_type_enabled("CollisionPolygon2D",true); - //ObjectTypeDB::set_type_enabled("BodyVolumeConvexPolygon",true); + + Control *theme_base = memnew( Control ); + add_child(theme_base); + theme_base->set_area_as_parent_rect(); gui_base = memnew( Panel ); - add_child(gui_base); + theme_base->add_child(gui_base); gui_base->set_area_as_parent_rect(); - - theme = Ref<Theme>( memnew( Theme ) ); - gui_base->set_theme( theme ); - editor_register_icons(theme); - editor_register_fonts(theme); - - //theme->set_icon("folder","EditorFileDialog",Theme::get_default()->get_icon("folder","EditorFileDialog")); - //theme->set_color("files_disabled","EditorFileDialog",Color(0,0,0,0.7)); - - String global_font = EditorSettings::get_singleton()->get("global/custom_font"); - if (global_font!="") { - Ref<Font> fnt = ResourceLoader::load(global_font); - if (fnt.is_valid()) { - theme->set_default_theme_font(fnt); - } - } - - Ref<StyleBoxTexture> focus_sbt=memnew( StyleBoxTexture ); - focus_sbt->set_texture(theme->get_icon("EditorFocus","EditorIcons")); - for(int i=0;i<4;i++) { - focus_sbt->set_margin_size(Margin(i),16); - focus_sbt->set_default_margin(Margin(i),16); - } - focus_sbt->set_draw_center(false); - theme->set_stylebox("EditorFocus","EditorStyles",focus_sbt); - + theme_base->set_theme( create_default_theme() ); + theme = create_editor_theme(); + gui_base->set_theme(theme); resource_preview = memnew( EditorResourcePreview ); add_child(resource_preview); @@ -5635,8 +5526,8 @@ EditorNode::EditorNode() { p->add_submenu_item(TTR("Convert To.."),"Export"); pm_export->add_item(TTR("Translatable Strings.."),FILE_DUMP_STRINGS); pm_export->add_separator(); - pm_export->add_item(TTR("MeshLibrary.."),FILE_EXPORT_MESH_LIBRARY); - pm_export->add_item(TTR("TileSet.."),FILE_EXPORT_TILESET); + pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_MeshLibrary", TTR("MeshLibrary..")), FILE_EXPORT_MESH_LIBRARY); + pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_TileSet", TTR("TileSet..")), FILE_EXPORT_TILESET); pm_export->connect("item_pressed",this,"_menu_option"); p->add_separator(); @@ -6540,12 +6431,12 @@ EditorNode::EditorNode() { { List<StringName> tl; StringName ei = "EditorIcons"; - gui_base->get_theme()->get_icon_list(ei,&tl); + theme_base->get_theme()->get_icon_list(ei,&tl); for(List<StringName>::Element *E=tl.front();E;E=E->next()) { if (!ObjectTypeDB::type_exists(E->get())) continue; - icon_type_cache[E->get()]=gui_base->get_theme()->get_icon(E->get(),ei); + icon_type_cache[E->get()]=theme_base->get_theme()->get_icon(E->get(),ei); } } diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h index 7023c6c174..bea973a357 100644 --- a/tools/editor/editor_node.h +++ b/tools/editor/editor_node.h @@ -65,7 +65,6 @@ #include "tools/editor/editor_log.h" #include "tools/editor/scene_tree_dock.h" #include "tools/editor/resources_dock.h" -#include "tools/editor/optimized_save_dialog.h" #include "tools/editor/editor_run_script.h" #include "tools/editor/editor_run_native.h" @@ -693,6 +692,7 @@ public: static void unregister_editor_types(); Control *get_gui_base() { return gui_base; } + Control *get_theme_base() { return gui_base->get_parent_control(); } static void add_io_error(const String& p_error); diff --git a/tools/editor/editor_plugin_settings.cpp b/tools/editor/editor_plugin_settings.cpp index 1a6be05af3..5342007e6d 100644 --- a/tools/editor/editor_plugin_settings.cpp +++ b/tools/editor/editor_plugin_settings.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_plugin_settings.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_plugin_settings.h" #include "scene/gui/margin_container.h" #include "io/config_file.h" diff --git a/tools/editor/editor_plugin_settings.h b/tools/editor/editor_plugin_settings.h index 4f3c5b8268..4a982e40e2 100644 --- a/tools/editor/editor_plugin_settings.h +++ b/tools/editor/editor_plugin_settings.h @@ -1,10 +1,37 @@ +/*************************************************************************/ +/* editor_plugin_settings.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITORPLUGINSETTINGS_H #define EDITORPLUGINSETTINGS_H #include "scene/gui/dialogs.h" #include "property_editor.h" -#include "optimized_save_dialog.h" #include "undo_redo.h" #include "editor_data.h" diff --git a/tools/editor/editor_resource_preview.cpp b/tools/editor/editor_resource_preview.cpp index 05b935f26c..8975c0ec35 100644 --- a/tools/editor/editor_resource_preview.cpp +++ b/tools/editor/editor_resource_preview.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_resource_preview.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_resource_preview.h" #include "editor_settings.h" #include "os/file_access.h" diff --git a/tools/editor/editor_resource_preview.h b/tools/editor/editor_resource_preview.h index 13c3d51313..63dc5c3dd3 100644 --- a/tools/editor/editor_resource_preview.h +++ b/tools/editor/editor_resource_preview.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_resource_preview.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITORRESOURCEPREVIEW_H #define EDITORRESOURCEPREVIEW_H diff --git a/tools/editor/editor_run_script.cpp b/tools/editor/editor_run_script.cpp index d34cac1530..765f36d3bc 100644 --- a/tools/editor/editor_run_script.cpp +++ b/tools/editor/editor_run_script.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_run_script.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_run_script.h" #include "editor_node.h" diff --git a/tools/editor/editor_run_script.h b/tools/editor/editor_run_script.h index 8dbefced7f..144fad5ab1 100644 --- a/tools/editor/editor_run_script.h +++ b/tools/editor/editor_run_script.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_run_script.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_RUN_SCRIPT_H #define EDITOR_RUN_SCRIPT_H diff --git a/tools/editor/editor_selection.cpp b/tools/editor/editor_selection.cpp deleted file mode 100644 index f3fbdba907..0000000000 --- a/tools/editor/editor_selection.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* editor_selection.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "editor_selection.h" - diff --git a/tools/editor/editor_selection.h b/tools/editor/editor_selection.h deleted file mode 100644 index d238d86567..0000000000 --- a/tools/editor/editor_selection.h +++ /dev/null @@ -1,32 +0,0 @@ -/*************************************************************************/ -/* editor_selection.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef EDITOR_SELECTION_H -#define EDITOR_SELECTION_H - -#endif // EDITOR_SELECTION_H diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp index 0d0008fcb8..49a1158ec6 100644 --- a/tools/editor/editor_settings.cpp +++ b/tools/editor/editor_settings.cpp @@ -63,7 +63,6 @@ bool EditorSettings::_set(const StringName& p_name, const Variant& p_value) { Array arr=p_value; ERR_FAIL_COND_V(arr.size() && arr.size()&1,true); - print_line("shortcuts: "+Variant(arr).get_construct_string()); for(int i=0;i<arr.size();i+=2) { String name = arr[i]; @@ -381,7 +380,7 @@ void EditorSettings::create() { singleton->save_changed_setting=true; singleton->config_file_path=config_file_path; singleton->settings_path=config_path+"/"+config_dir; - singleton->_load_defaults(extra_config); + singleton->_load_defaults(extra_config); singleton->setup_language(); singleton->setup_network(); singleton->list_text_editor_themes(); @@ -399,14 +398,11 @@ String EditorSettings::get_settings_path() const { void EditorSettings::setup_language() { String lang = get("global/editor_language"); - print_line("LANG IS "+lang); if (lang=="en") return; //none to do for(int i=0;i<translations.size();i++) { - print_line("TESTING "+translations[i]->get_locale()); if (translations[i]->get_locale()==lang) { - print_line("ok translation"); TranslationServer::get_singleton()->set_tool_translation(translations[i]); break; } @@ -515,9 +511,13 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { set("global/font_size",14); hints["global/font_size"]=PropertyInfo(Variant::INT,"global/font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); set("global/source_font_size",14); - hints["global/source_font_size"]=PropertyInfo(Variant::INT,"global/source_font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); + hints["global/source_font_size"]=PropertyInfo(Variant::INT,"global/source_font_size",PROPERTY_HINT_RANGE,"8,96,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); set("global/custom_font",""); hints["global/custom_font"]=PropertyInfo(Variant::STRING,"global/custom_font",PROPERTY_HINT_GLOBAL_FILE,"*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); + set("global/custom_theme",""); + hints["global/custom_theme"]=PropertyInfo(Variant::STRING,"global/custom_theme",PROPERTY_HINT_GLOBAL_FILE,"*.res,*.tres,*.theme",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED); + + set("global/autoscan_project_path",""); hints["global/autoscan_project_path"]=PropertyInfo(Variant::STRING,"global/autoscan_project_path",PROPERTY_HINT_GLOBAL_DIR); set("global/default_project_path",""); @@ -563,6 +563,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { hints["scenetree_editor/duplicate_node_name_num_separator"]=PropertyInfo(Variant::INT,"scenetree_editor/duplicate_node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash"); //set("scenetree_editor/display_old_action_buttons",false); set("scenetree_editor/start_create_dialog_fully_expanded",false); + set("scenetree_editor/draw_relationship_lines",false); + set("scenetree_editor/relationship_line_color",Color::html("464646")); set("gridmap_editor/pick_distance", 5000.0); @@ -581,7 +583,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { set("3d_editor/zoom_modifier",4); hints["3d_editor/zoom_modifier"]=PropertyInfo(Variant::INT,"3d_editor/zoom_modifier",PROPERTY_HINT_ENUM,"None,Shift,Alt,Meta,Ctrl"); set("3d_editor/emulate_numpad",false); - set("3d_editor/trackpad_hint", false); + set("3d_editor/emulate_3_button_mouse", false); set("2d_editor/bone_width",5); set("2d_editor/bone_color1",Color(1.0,1.0,1.0,0.9)); @@ -705,7 +707,6 @@ void EditorSettings::notify_changes() { sml = OS::get_singleton()->get_main_loop()->cast_to<SceneTree>(); if (!sml) { - print_line("not SML"); return; } diff --git a/scene/gui/custom_button.cpp b/tools/editor/editor_themes.cpp index a70af05418..44e21aee85 100644 --- a/scene/gui/custom_button.cpp +++ b/tools/editor/editor_themes.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* custom_button.cpp */ +/* editor_themes.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -26,15 +26,52 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "custom_button.h" -CustomButton::CustomButton() +#include "editor_themes.h" +#include "editor_icons.h" +#include "editor_fonts.h" +#include "editor_settings.h" +#include "core/io/resource_loader.h" + +Ref<Theme> create_default_theme() { -} + Ref<Theme> theme = Ref<Theme>( memnew( Theme ) ); + editor_register_fonts(theme); + editor_register_icons(theme); -CustomButton::~CustomButton() -{ + Ref<StyleBoxTexture> focus_sbt=memnew( StyleBoxTexture ); + focus_sbt->set_texture(theme->get_icon("EditorFocus","EditorIcons")); + for(int i=0;i<4;i++) { + focus_sbt->set_margin_size(Margin(i),16); + focus_sbt->set_default_margin(Margin(i),16); + } + focus_sbt->set_draw_center(false); + theme->set_stylebox("EditorFocus","EditorStyles",focus_sbt); + + return theme; } +Ref<Theme> create_editor_theme() +{ + Ref<Theme> theme = NULL; + String custom_theme = EditorSettings::get_singleton()->get("global/custom_theme"); + if (custom_theme!="") { + theme = ResourceLoader::load(custom_theme); + } + + if (theme.is_null() || !theme.is_valid()) { + theme = create_default_theme(); + } + + String global_font = EditorSettings::get_singleton()->get("global/custom_font"); + if (global_font!="") { + Ref<Font> fnt = ResourceLoader::load(global_font); + if (fnt.is_valid()) { + theme->set_default_theme_font(fnt); + } + } + + return theme; +} diff --git a/drivers/chibi/cp_file_access_wrapper.cpp b/tools/editor/editor_themes.h index 8ccde3735c..dbff8b3079 100644 --- a/drivers/chibi/cp_file_access_wrapper.cpp +++ b/tools/editor/editor_themes.h @@ -1,5 +1,5 @@ /*************************************************************************/ -/* cp_file_access_wrapper.cpp */ +/* editor_themes.h */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ @@ -26,10 +26,13 @@ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#include "cp_file_access_wrapper.h" +#ifndef EDITOR_THEMES_H +#define EDITOR_THEMES_H +#include "scene/resources/theme.h" -//CPFileAccessWrapper* (*CPFileAccessWrapper::create)()=0; - +Ref<Theme> create_default_theme(); +Ref<Theme> create_editor_theme(); +#endif diff --git a/tools/editor/editor_vu.cpp b/tools/editor/editor_vu.cpp deleted file mode 100644 index 7a133c9736..0000000000 --- a/tools/editor/editor_vu.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/*************************************************************************/ -/* editor_vu.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "editor_vu.h" - diff --git a/tools/editor/editor_vu.h b/tools/editor/editor_vu.h deleted file mode 100644 index 78fe3eda86..0000000000 --- a/tools/editor/editor_vu.h +++ /dev/null @@ -1,32 +0,0 @@ -/*************************************************************************/ -/* editor_vu.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef EDITOR_VU_H -#define EDITOR_VU_H - -#endif // EDITOR_VU_H diff --git a/tools/editor/fileserver/editor_file_server.cpp b/tools/editor/fileserver/editor_file_server.cpp index ea95e4da1c..c464e10fc2 100644 --- a/tools/editor/fileserver/editor_file_server.cpp +++ b/tools/editor/fileserver/editor_file_server.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_file_server.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_file_server.h" #include "io/marshalls.h" #include "io/marshalls.h" diff --git a/tools/editor/fileserver/editor_file_server.h b/tools/editor/fileserver/editor_file_server.h index 587b2c4fdb..fcb3d8546c 100644 --- a/tools/editor/fileserver/editor_file_server.h +++ b/tools/editor/fileserver/editor_file_server.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_file_server.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_FILE_SERVER_H #define EDITOR_FILE_SERVER_H diff --git a/tools/editor/icons/2x/icon_cone_twist_joint.png b/tools/editor/icons/2x/icon_cone_twist_joint.png Binary files differnew file mode 100644 index 0000000000..3aeba5855d --- /dev/null +++ b/tools/editor/icons/2x/icon_cone_twist_joint.png diff --git a/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png b/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png Binary files differnew file mode 100644 index 0000000000..506c873376 --- /dev/null +++ b/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png diff --git a/tools/editor/icons/2x/icon_hinge_joint.png b/tools/editor/icons/2x/icon_hinge_joint.png Binary files differnew file mode 100644 index 0000000000..b888102573 --- /dev/null +++ b/tools/editor/icons/2x/icon_hinge_joint.png diff --git a/tools/editor/icons/2x/icon_interpolated_camera.png b/tools/editor/icons/2x/icon_interpolated_camera.png Binary files differnew file mode 100644 index 0000000000..e4551a84ce --- /dev/null +++ b/tools/editor/icons/2x/icon_interpolated_camera.png diff --git a/tools/editor/icons/2x/icon_loop_interpolation.png b/tools/editor/icons/2x/icon_loop_interpolation.png Binary files differnew file mode 100644 index 0000000000..6009b50300 --- /dev/null +++ b/tools/editor/icons/2x/icon_loop_interpolation.png diff --git a/tools/editor/icons/2x/icon_rating_no_star.png b/tools/editor/icons/2x/icon_rating_no_star.png Binary files differindex 0d0c893938..f855fd8b56 100644 --- a/tools/editor/icons/2x/icon_rating_no_star.png +++ b/tools/editor/icons/2x/icon_rating_no_star.png diff --git a/tools/editor/icons/2x/icon_tool_button.png b/tools/editor/icons/2x/icon_tool_button.png Binary files differnew file mode 100644 index 0000000000..091fa8334f --- /dev/null +++ b/tools/editor/icons/2x/icon_tool_button.png diff --git a/tools/editor/icons/2x/icon_track_trigger.png b/tools/editor/icons/2x/icon_track_trigger.png Binary files differnew file mode 100644 index 0000000000..c04d47f9a4 --- /dev/null +++ b/tools/editor/icons/2x/icon_track_trigger.png diff --git a/tools/editor/icons/icon_cone_twist_joint.png b/tools/editor/icons/icon_cone_twist_joint.png Binary files differnew file mode 100644 index 0000000000..bbf93f2f71 --- /dev/null +++ b/tools/editor/icons/icon_cone_twist_joint.png diff --git a/tools/editor/icons/icon_generic_6_d_o_f_joint.png b/tools/editor/icons/icon_generic_6_d_o_f_joint.png Binary files differnew file mode 100644 index 0000000000..00ba76c098 --- /dev/null +++ b/tools/editor/icons/icon_generic_6_d_o_f_joint.png diff --git a/tools/editor/icons/icon_hinge_joint.png b/tools/editor/icons/icon_hinge_joint.png Binary files differnew file mode 100644 index 0000000000..246ca1ba42 --- /dev/null +++ b/tools/editor/icons/icon_hinge_joint.png diff --git a/tools/editor/icons/icon_interpolated_camera.png b/tools/editor/icons/icon_interpolated_camera.png Binary files differnew file mode 100644 index 0000000000..c66724f513 --- /dev/null +++ b/tools/editor/icons/icon_interpolated_camera.png diff --git a/tools/editor/icons/icon_loop_interpolation.png b/tools/editor/icons/icon_loop_interpolation.png Binary files differnew file mode 100644 index 0000000000..488b33316e --- /dev/null +++ b/tools/editor/icons/icon_loop_interpolation.png diff --git a/tools/editor/icons/icon_rating_no_star.png b/tools/editor/icons/icon_rating_no_star.png Binary files differindex d4085330ce..e7421bdb13 100644 --- a/tools/editor/icons/icon_rating_no_star.png +++ b/tools/editor/icons/icon_rating_no_star.png diff --git a/tools/editor/icons/icon_tool_button.png b/tools/editor/icons/icon_tool_button.png Binary files differnew file mode 100644 index 0000000000..b2f3f6103f --- /dev/null +++ b/tools/editor/icons/icon_tool_button.png diff --git a/tools/editor/icons/icon_track_trigger.png b/tools/editor/icons/icon_track_trigger.png Binary files differnew file mode 100644 index 0000000000..e89f95561a --- /dev/null +++ b/tools/editor/icons/icon_track_trigger.png diff --git a/tools/editor/icons/source/icon_cone_twist_joint.svg b/tools/editor/icons/source/icon_cone_twist_joint.svg new file mode 100644 index 0000000000..4799deb1d5 --- /dev/null +++ b/tools/editor/icons/source/icon_cone_twist_joint.svg @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_cone_twist_joint.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.627417" + inkscape:cx="8.6908051" + inkscape:cy="11.390572" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <path + style="opacity:1;fill:none;fill-opacity:0.99607843;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 8 2 L 2 11 A 6 3 0 0 0 5 13.597656 A 6 3 0 0 0 11 13.597656 A 6 3 0 0 0 14 11 L 8 2 z " + transform="translate(0,1036.3622)" + id="path4172" /> + <ellipse + style="opacity:1;fill:none;fill-opacity:0.99607843;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4177" + cx="8" + cy="1047.3622" + rx="6" + ry="3" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 8,1039.3622 0,8" + id="path4179" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg b/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg new file mode 100644 index 0000000000..485040c6dc --- /dev/null +++ b/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_generic_6_dof_joint.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.627417" + inkscape:cx="8.4723042" + inkscape:cy="10.441783" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <path + style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" + d="m 3,1042.3622 10,5" + id="path4241" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#fc9c9c;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.99607843;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:0.99607843" + d="m 8,1050.3622 0,-12" + id="path4243" + inkscape:connector-curvature="0" /> + <path + inkscape:connector-curvature="0" + id="path4245" + d="m 3,1047.3622 10,-5" + style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_hinge_joint.svg b/tools/editor/icons/source/icon_hinge_joint.svg new file mode 100644 index 0000000000..767feac9d5 --- /dev/null +++ b/tools/editor/icons/source/icon_hinge_joint.svg @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_hinge_joint.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="22.627417" + inkscape:cx="8.5772937" + inkscape:cy="8.9985765" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <path + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 4,1045.3622 a 3,2.9999826 0 0 0 -3,3 3,2.9999826 0 0 0 3,3 3,2.9999826 0 0 0 3,-3 3,2.9999826 0 0 0 -3,-3 z m 0,2 a 1.0000231,1.0000174 0 0 1 1,1 1.0000231,1.0000174 0 0 1 -1,1 1.0000231,1.0000174 0 0 1 -1,-1 1.0000231,1.0000174 0 0 1 1,-1 z" + id="path4145" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#fc9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="M 7.2832031 1.328125 A 1.0001 1.0001 0 0 0 6.4023438 1.8398438 L 2.7128906 8.2304688 C 3.1188799 8.0916963 3.5469997 8 4 8 C 4.3704308 8 4.722062 8.0678727 5.0625 8.1621094 L 8.1347656 2.8398438 A 1.0001 1.0001 0 0 0 7.2832031 1.328125 z " + transform="translate(0,1036.3622)" + id="path4147" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 4,1050.3622 10,0" + id="path4149" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_interpolated_camera.svg b/tools/editor/icons/source/icon_interpolated_camera.svg new file mode 100644 index 0000000000..16fc731c12 --- /dev/null +++ b/tools/editor/icons/source/icon_interpolated_camera.svg @@ -0,0 +1,259 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_camera.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_interpolated_camera.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="8.5491949" + inkscape:cy="8.618964" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="true"> + <inkscape:grid + type="xygrid" + id="grid3336" + empspacing="4" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <rect + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4144" + width="10" + height="5.0000172" + x="1" + y="1039.3622" /> + <rect + y="1037.3622" + x="3" + height="9.0000172" + width="6" + id="rect4146" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <circle + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4148" + cx="3" + cy="1039.3622" + r="2" /> + <circle + r="2" + cy="1044.3622" + cx="3" + id="circle4150" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <circle + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="circle4152" + cx="9" + cy="1039.3622" + r="2" /> + <circle + r="2" + cy="1044.3622" + cx="9" + id="circle4154" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 12,1040.3622 0,3 3,1 0,-5 z" + id="rect4156" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <rect + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4141" + width="1" + height="4" + x="6" + y="1047.3622" + ry="0" /> + <rect + ry="0" + y="1047.3622" + x="7" + height="1.0000174" + width="1" + id="rect4143" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4145" + width="1" + height="1.0000174" + x="7" + y="1049.3622" + ry="0" /> + <rect + ry="0" + y="1048.3622" + x="8" + height="1.0000174" + width="1" + id="rect4147" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + ry="0" + y="1047.3622" + x="3" + height="4" + width="1" + id="rect4149" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + ry="0" + y="1048.3622" + x="10" + height="2.0000174" + width="1" + id="rect4157" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4159" + width="1" + height="1.0000174" + x="11" + y="1047.3622" + ry="0" /> + <rect + ry="0" + y="1050.3622" + x="11" + height="1.0000174" + width="1" + id="rect4161" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <rect + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4163" + width="1" + height="2.0000174" + x="12" + y="1048.3622" + ry="0" /> + <path + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4165" + sodipodi:type="arc" + sodipodi:cx="8" + sodipodi:cy="1048.3622" + sodipodi:rx="1" + sodipodi:ry="1" + sodipodi:start="3.1415927" + sodipodi:end="0" + d="m 7,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" /> + <path + d="m 7,-1049.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" + sodipodi:end="0" + sodipodi:start="3.1415927" + sodipodi:ry="1" + sodipodi:rx="1" + sodipodi:cy="-1049.3622" + sodipodi:cx="8" + sodipodi:type="arc" + id="path4167" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + transform="scale(1,-1)" /> + <path + transform="scale(1,-1)" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4169" + sodipodi:type="arc" + sodipodi:cx="11" + sodipodi:cy="-1050.3622" + sodipodi:rx="1" + sodipodi:ry="1" + sodipodi:start="3.1415927" + sodipodi:end="0" + d="m 10,-1050.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" /> + <path + d="m 11,-1050.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" + sodipodi:end="0" + sodipodi:start="3.1415927" + sodipodi:ry="1" + sodipodi:rx="1" + sodipodi:cy="-1050.3622" + sodipodi:cx="12" + sodipodi:type="arc" + id="path4171" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + transform="scale(1,-1)" /> + <path + d="m 10,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" + sodipodi:end="0" + sodipodi:start="3.1415927" + sodipodi:ry="1" + sodipodi:rx="1" + sodipodi:cy="1048.3622" + sodipodi:cx="11" + sodipodi:type="arc" + id="path4173" + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4175" + sodipodi:type="arc" + sodipodi:cx="12" + sodipodi:cy="1048.3622" + sodipodi:rx="1" + sodipodi:ry="1" + sodipodi:start="3.1415927" + sodipodi:end="0" + d="m 11,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_loop_interpolation.svg b/tools/editor/icons/source/icon_loop_interpolation.svg new file mode 100644 index 0000000000..3733acb253 --- /dev/null +++ b/tools/editor/icons/source/icon_loop_interpolation.svg @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_loop_interpolation.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_loop_interpolation.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="3.8522581" + inkscape:cy="6.9411054" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="false" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-midpoints="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <g + id="layer1-8" + inkscape:label="Layer 1" + transform="matrix(0,-1,1,0,-1021.3622,1033.3622)" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="path4155" + cx="3" + cy="1048.3622" + r="2" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="M 4 3 A 2 2 0 0 0 2.2675781 4 A 2 2 0 0 0 2.0019531 5 L 2 5 L 2 5.046875 L 2 12 L 4 12 L 4 7 L 4 5 L 6 5 L 6 3 L 4 3 z " + transform="translate(0,1036.3622)" + id="path4157" /> + <path + style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 6,1037.3622 0,6 4,-3 z" + id="path4159" + inkscape:connector-curvature="0" /> + <circle + r="2" + cy="1040.3622" + cx="13" + id="circle4161" + style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <path + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + d="M 12 4 L 12 9 L 12 11 L 10 11 L 10 13 L 12 13 A 2 2 0 0 0 13.732422 12 A 2 2 0 0 0 13.998047 11 L 14 11 L 14 4 L 12 4 z " + transform="translate(0,1036.3622)" + id="path4163" /> + <path + inkscape:connector-curvature="0" + id="path4165" + d="m 10,1045.3622 0,6 -4,-3 z" + style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_rating_no_star.svg b/tools/editor/icons/source/icon_rating_no_star.svg index 123f524ed3..09a9efa112 100644 --- a/tools/editor/icons/source/icon_rating_no_star.svg +++ b/tools/editor/icons/source/icon_rating_no_star.svg @@ -29,8 +29,8 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="32" - inkscape:cx="6.994096" - inkscape:cy="8.2713563" + inkscape:cx="6.5847936" + inkscape:cy="10.189102" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -47,10 +47,10 @@ inkscape:window-x="0" inkscape:window-y="27" inkscape:window-maximized="1" - inkscape:object-paths="true" - inkscape:snap-intersection-paths="true" - inkscape:object-nodes="true" - inkscape:snap-smooth-nodes="true"> + inkscape:object-paths="false" + inkscape:snap-intersection-paths="false" + inkscape:object-nodes="false" + inkscape:snap-smooth-nodes="false"> <inkscape:grid type="xygrid" id="grid3336" @@ -64,7 +64,7 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -73,15 +73,16 @@ inkscape:groupmode="layer" id="layer1" transform="translate(0,-1036.3622)"> - <path - style="opacity:1;fill:#ffe484;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="M 8.0000004,1038.0862 5.62591,1042.1835 1,1043.2813 l 3.2360991,3.4074 -0.3586608,4.6735 4.1388649,-1.9766 4.1572048,1.9421 -0.395342,-4.6532 3.221834,-3.3932 -4.625909,-1.0978 -2.3740906,-4.0973 z" - id="path4254" - inkscape:connector-curvature="0" /> - <path - inkscape:connector-curvature="0" - id="path4182" - d="M 8.0000004,1038.0862 5.62591,1042.1835 1,1043.2813 l 3.2360991,3.4074 -0.3586608,4.6735 4.1388649,-1.9766 4.1572048,1.9421 -0.395342,-4.6532 3.221834,-3.3932 -4.625909,-1.0978 -2.3740906,-4.0973 z" - style="opacity:1;fill:#000000;fill-opacity:0.23529412;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <g + id="layer1-7" + inkscape:label="Layer 1" + style="fill:#c3ae65;fill-opacity:1"> + <path + id="path4254-1" + transform="translate(0,1036.3622)" + d="M 8,1.7246094 5.625,5.8222656 1,6.9199219 4.2363281,10.326172 3.8769531,15 8.015625,13.023438 12.173828,14.964844 11.777344,10.3125 15,6.9199219 10.375,5.8222656 8,1.7246094 Z M 8,4 l 1.6582031,2.7773438 3.2324219,0.7441406 -2.25,2.3007812 0.275391,3.1542964 L 8.0117188,11.660156 5.1191406,13 5.3710938,9.8320312 3.109375,7.5214844 6.3417969,6.7773438 8,4 Z" + style="opacity:1;fill:#c3ae65;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + </g> </g> </svg> diff --git a/tools/editor/icons/source/icon_tool_button.svg b/tools/editor/icons/source/icon_tool_button.svg new file mode 100644 index 0000000000..1c5176c8c9 --- /dev/null +++ b/tools/editor/icons/source/icon_tool_button.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + viewBox="0 0 16 16" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_button.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_tool_button.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="8.173168" + inkscape:cy="9.7479984" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1"> + <inkscape:grid + type="xygrid" + id="grid3336" + empspacing="4" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1036.3622)"> + <path + style="opacity:1;fill:#a5efac;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="M 1 3 L 1 11 L 15 11 L 15 3 L 1 3 z M 11 4 A 3 3 0 0 1 13.826172 6 L 11 6 A 1 1 0 0 0 10 7 A 1 1 0 0 0 11 8 L 13.824219 8 A 3 3 0 0 1 11 10 A 3 3 0 0 1 8.1757812 8 L 3 8 A 1 1 0 0 1 2 7 A 1 1 0 0 1 3 6 L 8.1738281 6 A 3 3 0 0 1 11 4 z " + transform="translate(0,1036.3622)" + id="rect4139" /> + <rect + transform="scale(1,-1)" + style="opacity:1;fill:#a5efac;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4160" + width="14" + height="2.0000522" + x="1" + y="-1049.3622" /> + <rect + y="-1049.3622" + x="1" + height="2.0000522" + width="14" + id="rect4142" + style="opacity:1;fill:#000000;fill-opacity:0.07843138;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + transform="scale(1,-1)" /> + </g> +</svg> diff --git a/tools/editor/icons/source/icon_track_trigger.svg b/tools/editor/icons/source/icon_track_trigger.svg new file mode 100644 index 0000000000..9c13791f70 --- /dev/null +++ b/tools/editor/icons/source/icon_track_trigger.svg @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="8" + viewBox="0 0 16 8" + id="svg2" + version="1.1" + inkscape:version="0.91 r13725" + inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_track_trigger.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + sodipodi:docname="icon_track_trigger.svg"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="32" + inkscape:cx="0.93634514" + inkscape:cy="3.5256605" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + units="px" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="true" + inkscape:snap-smooth-nodes="true" + inkscape:object-nodes="true" + inkscape:object-paths="true" + inkscape:snap-intersection-paths="true"> + <inkscape:grid + type="xygrid" + id="grid3336" /> + </sodipodi:namedview> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-1044.3622)"> + <circle + r="1" + cy="1048.3622" + cx="11" + id="circle4232" + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="circle4234" + cx="14" + cy="1046.3622" + r="1" /> + <rect + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4169" + width="6" + height="2" + x="1" + y="1045.3622" /> + <rect + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4171" + width="2" + height="3.9999826" + x="3" + y="1047.3622" /> + <circle + style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="circle4173" + cx="8" + cy="1050.3622" + r="1" /> + </g> +</svg> diff --git a/tools/editor/inspector_dock.cpp b/tools/editor/inspector_dock.cpp index 57d19c3ec8..7b06761e53 100644 --- a/tools/editor/inspector_dock.cpp +++ b/tools/editor/inspector_dock.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* inspector_dock.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "inspector_dock.h" #if 0 diff --git a/tools/editor/inspector_dock.h b/tools/editor/inspector_dock.h index 90f043aba8..40c153e2d4 100644 --- a/tools/editor/inspector_dock.h +++ b/tools/editor/inspector_dock.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* inspector_dock.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef INSPECTOR_DOCK_H #define INSPECTOR_DOCK_H diff --git a/tools/editor/io_plugins/editor_export_scene.cpp b/tools/editor/io_plugins/editor_export_scene.cpp index dff41a59ed..acbbf8c737 100644 --- a/tools/editor/io_plugins/editor_export_scene.cpp +++ b/tools/editor/io_plugins/editor_export_scene.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_export_scene.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_export_scene.h" #include "io/resource_loader.h" #include "io/resource_saver.h" diff --git a/tools/editor/io_plugins/editor_export_scene.h b/tools/editor/io_plugins/editor_export_scene.h index 134da6c234..2c7fe9a1ab 100644 --- a/tools/editor/io_plugins/editor_export_scene.h +++ b/tools/editor/io_plugins/editor_export_scene.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_export_scene.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_EXPORT_SCENE_H #define EDITOR_EXPORT_SCENE_H diff --git a/tools/editor/io_plugins/editor_font_import_plugin.cpp b/tools/editor/io_plugins/editor_font_import_plugin.cpp index d5e6e3077e..70bc44ba7d 100644 --- a/tools/editor/io_plugins/editor_font_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -102,6 +102,7 @@ public: bool disable_filter; bool round_advance; + bool premultiply_alpha; @@ -167,6 +168,8 @@ public: round_advance=p_value; else if (n=="advanced/disable_filter") disable_filter=p_value; + else if (n=="advanced/premultiply_alpha") + premultiply_alpha=p_value; else return false; @@ -235,6 +238,8 @@ public: r_ret=round_advance; else if (n=="advanced/disable_filter") r_ret=disable_filter; + else if (n=="advanced/premultiply_alpha") + r_ret=premultiply_alpha; else return false; @@ -297,6 +302,7 @@ public: p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/round_advance")); p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/disable_filter")); + p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/premultiply_alpha")); } @@ -336,6 +342,7 @@ public: font_mode=FONT_BITMAP; round_advance=true; disable_filter=false; + premultiply_alpha=false; } @@ -368,6 +375,7 @@ public: round_advance=true; disable_filter=false; + premultiply_alpha=false; } @@ -489,18 +497,22 @@ class EditorFontImportDialog : public ConfirmationDialog { Image img = tex->get_data(); f->store_line("static const int _builtin_font_img_width="+itos(img.get_width())+";"); - f->store_line("static const int _builtin_font_img_height="+itos(img.get_height())+";"); - f->store_line("static const unsigned char _builtin_font_img_data["+itos(img.get_width()*img.get_height()*2)+"]={"); - for(int i=0;i<img.get_height();i++) { + f->store_line("static const int _builtin_font_img_height="+itos(img.get_height())+";"); - for(int j=0;j<img.get_width();j++) { + String fname = p_font.basename()+".sv.png"; + ResourceSaver::save(fname,tex); + Vector<uint8_t> data=FileAccess::get_file_as_array(fname); - Color c = img.get_pixel(j,i); - int v = CLAMP(((c.r+c.g+c.b)/3.0)*255,0,255); - int a = CLAMP(c.a*255,0,255); - f->store_line(itos(v)+","+itos(a)+","); - } + f->store_line("static const int _builtin_font_img_data_size="+itos(data.size())+";"); + f->store_line("static const unsigned char _builtin_font_img_data["+itos(data.size())+"]={"); + + + + for(int i=0;i<data.size();i++) { + + f->store_line(itos(data[i])+","); + } f->store_line("};"); @@ -524,6 +536,16 @@ class EditorFontImportDialog : public ConfirmationDialog { dest->get_line_edit()->set_text(dest->get_line_edit()->get_text().get_base_dir() + "/" + source->get_line_edit()->get_text().get_file().basename() + ".fnt" ); } + if (dest->get_line_edit()->get_text().extension() == dest->get_line_edit()->get_text()) { + dest->get_line_edit()->set_text(dest->get_line_edit()->get_text() + ".fnt"); + } + + if (dest->get_line_edit()->get_text().extension().to_lower() != "fnt") { + error_dialog->set_text(TTR("Invalid file extension.\nPlease use .fnt.")); + error_dialog->popup_centered(Size2(200,100)); + return; + } + Ref<ResourceImportMetadata> rimd = get_rimd(); if (rimd.is_null()) { @@ -1528,12 +1550,30 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe } + if (from->has_option("advanced/premultiply_alpha") && bool(from->get_option("advanced/premultiply_alpha"))) { + + DVector<uint8_t> data = atlas.get_data(); + int dl = data.size(); + { + DVector<uint8_t>::Write w = data.write(); + + for(int i=0;i<dl;i+=4) { + + w[i+0]= uint8_t(int(w[i+0])*int(w[i+3])/255); + w[i+1]= uint8_t(int(w[i+1])*int(w[i+3])/255); + w[i+2]= uint8_t(int(w[i+2])*int(w[i+3])/255); + } + } + + atlas=Image(res_size.x,res_size.y,0,Image::FORMAT_RGBA,data); + } if (from->has_option("color/monochrome") && bool(from->get_option("color/monochrome"))) { atlas.convert(Image::FORMAT_GRAYSCALE_ALPHA); } + if (0) { //debug the texture Ref<ImageTexture> atlast = memnew( ImageTexture ); diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp index 80cd54756e..363cba3678 100644 --- a/tools/editor/io_plugins/editor_import_collada.cpp +++ b/tools/editor/io_plugins/editor_import_collada.cpp @@ -2077,6 +2077,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_TRANSFORM); int track = animation->get_track_count() -1; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later Vector<float> snapshots = base_snapshots; @@ -2229,6 +2230,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_TRANSFORM); int track = animation->get_track_count() -1; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later Transform xform = cn->compute_transform(collada); @@ -2284,8 +2286,11 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones animation->add_track(Animation::TYPE_VALUE); int track = animation->get_track_count() -1; + path = path +":"+at.param; animation->track_set_path( track , path ); + animation->track_set_imported( track , true ); //helps merging later + for(int i=0;i<at.keys.size();i++) { @@ -2376,6 +2381,7 @@ Node* EditorSceneImporterCollada::import_scene(const String& p_path, uint32_t p_ state.create_animations(p_flags&IMPORT_ANIMATION_FORCE_ALL_TRACKS_IN_ALL_CLIPS); AnimationPlayer *ap = memnew( AnimationPlayer ); + ap->set_name("animations"); for(int i=0;i<state.animations.size();i++) { String name; if (state.animations[i]->get_name()=="") diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp index c20515f0f3..095c56a373 100644 --- a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_mesh_import_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_mesh_import_plugin.h" #include "tools/editor/editor_file_dialog.h" diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.h b/tools/editor/io_plugins/editor_mesh_import_plugin.h index ed30d69e18..d200603e6a 100644 --- a/tools/editor/io_plugins/editor_mesh_import_plugin.h +++ b/tools/editor/io_plugins/editor_mesh_import_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_mesh_import_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_MESH_IMPORT_PLUGIN_H #define EDITOR_MESH_IMPORT_PLUGIN_H diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp index f346306f61..c7d92a9658 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp @@ -30,6 +30,7 @@ #include "globals.h" #include "tools/editor/editor_node.h" #include "scene/resources/packed_scene.h" +#include "scene/resources/box_shape.h" #include "os/file_access.h" #include "scene/3d/path.h" #include "scene/animation/animation_player.h" @@ -1068,12 +1069,14 @@ const EditorSceneImportDialog::FlagInfo EditorSceneImportDialog::scene_flag_name {EditorSceneImportPlugin::SCENE_FLAG_IMPORT_ANIMATIONS,("Actions"),"Import Animations",true}, {EditorSceneImportPlugin::SCENE_FLAG_COMPRESS_GEOMETRY,("Actions"),"Compress Geometry",false}, {EditorSceneImportPlugin::SCENE_FLAG_GENERATE_TANGENT_ARRAYS,("Actions"),"Force Generation of Tangent Arrays",false}, - {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true}, - {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true}, {EditorSceneImportPlugin::SCENE_FLAG_LINEARIZE_DIFFUSE_TEXTURES,("Actions"),"SRGB->Linear Of Diffuse Textures",false}, {EditorSceneImportPlugin::SCENE_FLAG_CONVERT_NORMALMAPS_TO_XY,("Actions"),"Convert Normal Maps to XY",true}, {EditorSceneImportPlugin::SCENE_FLAG_SET_LIGHTMAP_TO_UV2_IF_EXISTS,("Actions"),"Set Material Lightmap to UV2 if Tex2Array Exists",true}, - {EditorSceneImportPlugin::SCENE_FLAG_CREATE_COLLISIONS,("Create"),"Create Collisions (-col},-colonly)",true}, + {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_MATERIALS,("Merge"),"Keep Materials after first import (delete them for re-import).",true}, + {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,("Merge"),"Keep user-added Animation tracks.",true}, + {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true}, + {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true}, + {EditorSceneImportPlugin::SCENE_FLAG_CREATE_COLLISIONS,("Create"),"Create Collisions and/or Rigid Bodies (-col,-colonly,-rigid)",true}, {EditorSceneImportPlugin::SCENE_FLAG_CREATE_PORTALS,("Create"),"Create Portals (-portal)",true}, {EditorSceneImportPlugin::SCENE_FLAG_CREATE_ROOMS,("Create"),"Create Rooms (-room)",true}, {EditorSceneImportPlugin::SCENE_FLAG_SIMPLIFY_ROOMS,("Create"),"Simplify Rooms",false}, @@ -1745,6 +1748,49 @@ Node* EditorSceneImportPlugin::_fix_node(Node *p_node,Node *p_root,Map<Ref<Mesh> colshape->set_owner(sb->get_owner()); } + } else if (p_flags&SCENE_FLAG_CREATE_COLLISIONS && _teststr(name,"rigid") && p_node->cast_to<MeshInstance>()) { + + if (isroot) + return p_node; + + // get mesh instance and bounding box + MeshInstance *mi = p_node->cast_to<MeshInstance>(); + AABB aabb = mi->get_aabb(); + + // create a new rigid body collision node + RigidBody * rigid_body = memnew( RigidBody ); + Node * col = rigid_body; + ERR_FAIL_COND_V(!col,NULL); + + // remove node name postfix + col->set_name(_fixstr(name,"rigid")); + // get mesh instance xform matrix to the rigid body collision node + col->cast_to<Spatial>()->set_transform(mi->get_transform()); + // save original node by duplicating it into a new instance and correcting the name + Node * mesh = p_node->duplicate(); + mesh->set_name(_fixstr(name,"rigid")); + // reset the xform matrix of the duplicated node so it can inherit parent node xform + mesh->cast_to<Spatial>()->set_transform(Transform(Matrix3())); + // reparent the new mesh node to the rigid body collision node + p_node->add_child(mesh); + mesh->set_owner(p_node->get_owner()); + // replace the original node with the rigid body collision node + p_node->replace_by(col); + memdelete(p_node); + p_node=col; + + // create an alias for the rigid body collision node + RigidBody *rb = col->cast_to<RigidBody>(); + // create a new Box collision shape and set the right extents + Ref<BoxShape> shape = memnew( BoxShape ); + shape->set_extents(aabb.get_size() * 0.5); + CollisionShape *colshape = memnew( CollisionShape); + colshape->set_name("shape"); + colshape->set_shape(shape); + // reparent the new collision shape to the rigid body collision node + rb->add_child(colshape); + colshape->set_owner(p_node->get_owner()); + } else if (p_flags&SCENE_FLAG_CREATE_COLLISIONS &&_teststr(name,"col") && p_node->cast_to<MeshInstance>()) { @@ -2411,6 +2457,138 @@ void EditorSceneImportPlugin::_optimize_animations(Node *scene, float p_max_lin_ } +void EditorSceneImportPlugin::_find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String, Ref<Material> > &materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims,Set<Ref<Mesh> > &tested_meshes) { + + if (node->get_owner()!=scene) + return; + + String path = scene->get_path_to(node); + + if (p_merge_anims && node->cast_to<AnimationPlayer>()) { + + AnimationPlayer *ap = node->cast_to<AnimationPlayer>(); + List<StringName> anims; + ap->get_animation_list(&anims); + for (List<StringName>::Element *E=anims.front();E;E=E->next()) { + Ref<Animation> anim = ap->get_animation(E->get()); + Ref<Animation> clone; + + bool has_user_tracks=false; + + for(int i=0;i<anim->get_track_count();i++) { + + if (!anim->track_is_imported(i)) { + has_user_tracks=true; + break; + } + } + + if (has_user_tracks) { + + clone = anim->duplicate(); + for(int i=0;i<clone->get_track_count();i++) { + if (clone->track_is_imported(i)) { + clone->remove_track(i); + i--; + } + } + + merged_anims[path+"::"+String(E->get())]=clone; + } + } + } + + + + if (p_merge_material && node->cast_to<MeshInstance>()) { + MeshInstance *mi=node->cast_to<MeshInstance>(); + Ref<Mesh> mesh = mi->get_mesh(); + if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) { + + for(int i=0;i<mesh->get_surface_count();i++) { + Ref<Material> material = mesh->surface_get_material(i); + materials[mesh->get_name()+":surf:"+mesh->surface_get_name(i)]=material; + } + + tested_meshes.insert(mesh); + } + } + + + + for(int i=0;i<node->get_child_count();i++) { + _find_resources_to_merge(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes); + } + +} + + +void EditorSceneImportPlugin::_merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes) { + + if (node->get_owner()!=scene) + return; + + String path = scene->get_path_to(node); + + if (node->cast_to<AnimationPlayer>()) { + + AnimationPlayer *ap = node->cast_to<AnimationPlayer>(); + List<StringName> anims; + ap->get_animation_list(&anims); + for (List<StringName>::Element *E=anims.front();E;E=E->next()) { + Ref<Animation> anim = ap->get_animation(E->get()); + + String anim_path = path+"::"+String(E->get()); + + if (merged_anims.has(anim_path)) { + + Ref<Animation> user_tracks = merged_anims[anim_path]; + for(int i=0;i<user_tracks->get_track_count();i++) { + + int idx = anim->get_track_count(); + anim->add_track(user_tracks->track_get_type(i)); + anim->track_set_path(idx,user_tracks->track_get_path(i)); + anim->track_set_interpolation_type(idx,user_tracks->track_get_interpolation_type(i)); + for(int j=0;j<user_tracks->track_get_key_count(i);j++) { + + float ofs = user_tracks->track_get_key_time(i,j); + float trans = user_tracks->track_get_key_transition(i,j); + Variant value = user_tracks->track_get_key_value(i,j); + + anim->track_insert_key(idx,ofs,value,trans); + } + } + } + } + } + + + + if (node->cast_to<MeshInstance>()) { + MeshInstance *mi=node->cast_to<MeshInstance>(); + Ref<Mesh> mesh = mi->get_mesh(); + if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) { + + for(int i=0;i<mesh->get_surface_count();i++) { + String sname = mesh->get_name()+":surf:"+mesh->surface_get_name(i); + + if (materials.has(sname)) { + mesh->surface_set_material(i,materials[sname]); + } + } + + tested_meshes.insert(mesh); + } + } + + + + for(int i=0;i<node->get_child_count();i++) { + _merge_found_resources(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes); + } + +} + Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, const Ref<ResourceImportMetadata>& p_from) { Error err=OK; @@ -2462,6 +2640,28 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c _filter_tracks(scene,animation_filter); + if (scene_flags&(SCENE_FLAG_MERGE_KEEP_MATERIALS|SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS) && FileAccess::exists(p_dest_path)) { + //must merge! + + Ref<PackedScene> pscene = ResourceLoader::load(p_dest_path,"PackedScene",true); + if (pscene.is_valid()) { + + Node *instance = pscene->instance(); + if (instance) { + Map<String,Ref<Animation> > merged_anims; + Map<String,Ref<Material> > merged_materials; + Set<Ref<Mesh> > tested_meshes; + + _find_resources_to_merge(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes); + tested_meshes.clear(); + _merge_found_resources(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes); + + memdelete(instance); + } + + } + + } /// BEFORE ANYTHING, RUN SCRIPT diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.h b/tools/editor/io_plugins/editor_scene_import_plugin.h index 8a2d30f1f6..c31d3a33d3 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.h +++ b/tools/editor/io_plugins/editor_scene_import_plugin.h @@ -116,6 +116,10 @@ class EditorSceneImportPlugin : public EditorImportPlugin { void _tag_import_paths(Node *p_scene,Node *p_node); + void _find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String,Ref<Material> >&materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes); + void _merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes); + + public: enum SceneFlags { @@ -134,6 +138,9 @@ public: SCENE_FLAG_CREATE_NAVMESH=1<<17, SCENE_FLAG_DETECT_LIGHTMAP_LAYER=1<<18, + SCENE_FLAG_MERGE_KEEP_MATERIALS=1<<20, + SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS=1<<21, + SCENE_FLAG_REMOVE_NOIMP=1<<24, SCENE_FLAG_IMPORT_ANIMATIONS=1<<25, SCENE_FLAG_COMPRESS_GEOMETRY=1<<26, @@ -144,6 +151,7 @@ public: }; + virtual String get_name() const; virtual String get_visible_name() const; virtual void import_dialog(const String& p_from=""); diff --git a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp index 0c388b91ca..ac3c4637c2 100644 --- a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp +++ b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_scene_importer_fbxconv.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_scene_importer_fbxconv.h" #include "os/file_access.h" #include "os/os.h" diff --git a/tools/editor/io_plugins/editor_scene_importer_fbxconv.h b/tools/editor/io_plugins/editor_scene_importer_fbxconv.h index 261b072b04..b0cbc07ba3 100644 --- a/tools/editor/io_plugins/editor_scene_importer_fbxconv.h +++ b/tools/editor/io_plugins/editor_scene_importer_fbxconv.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_scene_importer_fbxconv.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITOR_SCENE_IMPORTER_FBXCONV_H #define EDITOR_SCENE_IMPORTER_FBXCONV_H diff --git a/tools/editor/multi_node_edit.cpp b/tools/editor/multi_node_edit.cpp index b5bae82ae0..4d27b8e349 100644 --- a/tools/editor/multi_node_edit.cpp +++ b/tools/editor/multi_node_edit.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* multi_node_edit.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "multi_node_edit.h" #include "editor_node.h" @@ -7,9 +35,15 @@ bool MultiNodeEdit::_set(const StringName& p_name, const Variant& p_value){ if (!es) return false; + String name = p_name; + + if (name=="scripts/script") { // script/script set is intercepted at object level (check Variant Object::get() ) ,so use a different name + name="script/script"; + } + UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo(); - ur->create_action(TTR("MultiNode Set")+" "+String(p_name)); + ur->create_action(TTR("MultiNode Set")+" "+String(name)); for (const List<NodePath>::Element *E=nodes.front();E;E=E->next()) { if (!es->has_node(E->get())) @@ -19,10 +53,13 @@ bool MultiNodeEdit::_set(const StringName& p_name, const Variant& p_value){ if (!n) continue; - ur->add_do_property(n,p_name,p_value); - ur->add_undo_property(n,p_name,n->get(p_name)); + ur->add_do_property(n,name,p_value); + ur->add_undo_property(n,name,n->get(name)); + } + ur->add_do_method(EditorNode::get_singleton()->get_property_editor(),"refresh"); + ur->add_undo_method(EditorNode::get_singleton()->get_property_editor(),"refresh"); ur->commit_action(); return true; @@ -34,6 +71,11 @@ bool MultiNodeEdit::_get(const StringName& p_name,Variant &r_ret) const { if (!es) return false; + String name=p_name; + if (name=="scripts/script") { // script/script set is intercepted at object level (check Variant Object::get() ) ,so use a different name + name="script/script"; + } + for (const List<NodePath>::Element *E=nodes.front();E;E=E->next()) { if (!es->has_node(E->get())) @@ -44,7 +86,7 @@ bool MultiNodeEdit::_get(const StringName& p_name,Variant &r_ret) const { continue; bool found; - r_ret=n->get(p_name,&found); + r_ret=n->get(name,&found); if (found) return true; @@ -79,6 +121,8 @@ void MultiNodeEdit::_get_property_list( List<PropertyInfo> *p_list) const{ for(List<PropertyInfo>::Element *F=plist.front();F;F=F->next()) { + if (F->get().name=="script/script") + continue; //added later manually, since this is intercepted before being set (check Variant Object::get() ) if (!usage.has(F->get().name)) { PLData pld; pld.uses=0; @@ -100,6 +144,8 @@ void MultiNodeEdit::_get_property_list( List<PropertyInfo> *p_list) const{ } } + p_list->push_back(PropertyInfo(Variant::OBJECT,"scripts/script",PROPERTY_HINT_RESOURCE_TYPE,"Script")); + } diff --git a/tools/editor/multi_node_edit.h b/tools/editor/multi_node_edit.h index 5a0cabf4be..fd50dc5bf4 100644 --- a/tools/editor/multi_node_edit.h +++ b/tools/editor/multi_node_edit.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* multi_node_edit.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef MULTI_NODE_EDIT_H #define MULTI_NODE_EDIT_H @@ -13,6 +41,7 @@ class MultiNodeEdit : public Reference { PropertyInfo info; }; + protected: bool _set(const StringName& p_name, const Variant& p_value); diff --git a/tools/editor/optimized_save_dialog.cpp b/tools/editor/optimized_save_dialog.cpp deleted file mode 100644 index 4814b3b021..0000000000 --- a/tools/editor/optimized_save_dialog.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/*************************************************************************/ -/* optimized_save_dialog.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ diff --git a/tools/editor/optimized_save_dialog.h b/tools/editor/optimized_save_dialog.h deleted file mode 100644 index bdc36eddc1..0000000000 --- a/tools/editor/optimized_save_dialog.h +++ /dev/null @@ -1,34 +0,0 @@ -/*************************************************************************/ -/* optimized_save_dialog.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef OPTIMIZED_SAVE_DIALOG_H -#define OPTIMIZED_SAVE_DIALOG_H - - - -#endif // OPTIMIZED_SAVE_DIALOG_H diff --git a/tools/editor/plugins/animation_data_editor_plugin.cpp b/tools/editor/plugins/animation_data_editor_plugin.cpp deleted file mode 100644 index a73c75056b..0000000000 --- a/tools/editor/plugins/animation_data_editor_plugin.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* animation_data_editor_plugin.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "animation_data_editor_plugin.h" - -AnimationDataEditorPlugin::AnimationDataEditorPlugin() -{ -} diff --git a/tools/editor/plugins/animation_data_editor_plugin.h b/tools/editor/plugins/animation_data_editor_plugin.h deleted file mode 100644 index 0a12638474..0000000000 --- a/tools/editor/plugins/animation_data_editor_plugin.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************/ -/* animation_data_editor_plugin.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef ANIMATION_DATA_EDITOR_PLUGIN_H -#define ANIMATION_DATA_EDITOR_PLUGIN_H - -class AnimationDataEditorPlugin -{ -public: - AnimationDataEditorPlugin(); -}; - -#endif // ANIMATION_DATA_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/animation_player_editor_plugin.cpp b/tools/editor/plugins/animation_player_editor_plugin.cpp index 4bbcb396af..10c7bf79a3 100644 --- a/tools/editor/plugins/animation_player_editor_plugin.cpp +++ b/tools/editor/plugins/animation_player_editor_plugin.cpp @@ -952,7 +952,7 @@ void AnimationPlayerEditor::_animation_duplicate() { } -void AnimationPlayerEditor::_seek_value_changed(float p_value) { +void AnimationPlayerEditor::_seek_value_changed(float p_value,bool p_set) { if (updating || !player || player->is_playing()) { return; @@ -980,7 +980,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value) { pos=anim->get_length(); } - if (player->is_valid()) { + if (player->is_valid() && !p_set) { float cpos = player->get_current_animation_pos(); player->seek_delta(pos,pos-cpos); @@ -988,6 +988,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value) { player->seek(pos,true); } + key_editor->set_anim_pos(pos); updating=true; @@ -1078,6 +1079,7 @@ void AnimationPlayerEditor::_editor_load(){ void AnimationPlayerEditor::_animation_key_editor_anim_len_changed(float p_len) { + frame->set_max(p_len); } @@ -1092,7 +1094,7 @@ void AnimationPlayerEditor::_animation_key_editor_anim_step_changed(float p_len) } -void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos) { +void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos,bool p_drag) { if (!is_visible()) return; @@ -1102,7 +1104,11 @@ void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos) { if (player->is_playing() ) return; - frame->set_val(p_pos); + updating=true; + frame->set_val(p_pos); + updating=false; + _seek_value_changed(p_pos,!p_drag); + EditorNode::get_singleton()->get_property_editor()->refresh(); @@ -1254,7 +1260,7 @@ void AnimationPlayerEditor::_bind_methods() { ObjectTypeDB::bind_method(_MD("_animation_edit"),&AnimationPlayerEditor::_animation_edit); ObjectTypeDB::bind_method(_MD("_animation_resource_edit"),&AnimationPlayerEditor::_animation_resource_edit); ObjectTypeDB::bind_method(_MD("_dialog_action"),&AnimationPlayerEditor::_dialog_action); - ObjectTypeDB::bind_method(_MD("_seek_value_changed"),&AnimationPlayerEditor::_seek_value_changed); + ObjectTypeDB::bind_method(_MD("_seek_value_changed"),&AnimationPlayerEditor::_seek_value_changed,DEFVAL(true)); ObjectTypeDB::bind_method(_MD("_animation_player_changed"),&AnimationPlayerEditor::_animation_player_changed); ObjectTypeDB::bind_method(_MD("_blend_edited"),&AnimationPlayerEditor::_blend_edited); // ObjectTypeDB::bind_method(_MD("_seek_frame_changed"),&AnimationPlayerEditor::_seek_frame_changed); @@ -1350,19 +1356,23 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) { add_anim = memnew( ToolButton ); + ED_SHORTCUT("animation_player_editor/add_animation", TTR("Create new animation in player.")); + add_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/add_animation")); add_anim->set_tooltip(TTR("Create new animation in player.")); hb->add_child(add_anim); load_anim = memnew( ToolButton ); + ED_SHORTCUT("animation_player_editor/load_from_disk", TTR("Load animation from disk.")); + add_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/load_from_disk")); load_anim->set_tooltip(TTR("Load an animation from disk.")); hb->add_child(load_anim); save_anim = memnew(MenuButton); save_anim->set_tooltip(TTR("Save the current animation")); - save_anim->get_popup()->add_item(TTR("Save"), ANIM_SAVE); - save_anim->get_popup()->add_item(TTR("Save As.."), ANIM_SAVE_AS); + save_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/save", TTR("Save")), ANIM_SAVE); + save_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/save_as", TTR("Save As")), ANIM_SAVE_AS); save_anim->set_focus_mode(Control::FOCUS_NONE); hb->add_child(save_anim); @@ -1372,15 +1382,21 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) { duplicate_anim = memnew( ToolButton ); hb->add_child(duplicate_anim); + ED_SHORTCUT("animation_player_editor/duplicate_animation", TTR("Duplicate Animation")); + duplicate_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/duplicate_animation")); duplicate_anim->set_tooltip(TTR("Duplicate Animation")); rename_anim = memnew( ToolButton ); hb->add_child(rename_anim); + ED_SHORTCUT("animation_player_editor/rename_animation", TTR("Rename Animation")); + rename_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/rename_animation")); rename_anim->set_tooltip(TTR("Rename Animation")); remove_anim = memnew( ToolButton ); hb->add_child(remove_anim); + ED_SHORTCUT("animation_player_editor/remove_animation", TTR("Remove Animation")); + remove_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/remove_animation")); remove_anim->set_tooltip(TTR("Remove Animation")); @@ -1402,8 +1418,8 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) { tool_anim = memnew( MenuButton); //tool_anim->set_flat(false); tool_anim->set_tooltip(TTR("Animation Tools")); - tool_anim->get_popup()->add_item(TTR("Copy Animation"),TOOL_COPY_ANIM); - tool_anim->get_popup()->add_item(TTR("Paste Animation"),TOOL_PASTE_ANIM); + tool_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/copy_animation", TTR("Copy Animation")),TOOL_COPY_ANIM); + tool_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/paste_animation", TTR("Paste Animation")),TOOL_PASTE_ANIM); //tool_anim->get_popup()->add_separator(); //tool_anim->get_popup()->add_item("Edit Anim Resource",TOOL_PASTE_ANIM); hb->add_child(tool_anim); @@ -1487,8 +1503,8 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) { animation->connect("item_selected", this,"_animation_selected",Vector<Variant>(),true); resource_edit_anim->connect("pressed", this,"_animation_resource_edit"); file->connect("file_selected", this,"_dialog_action"); - frame->connect("value_changed", this, "_seek_value_changed",Vector<Variant>(),true); - scale->connect("text_entered", this, "_scale_changed",Vector<Variant>(),true); + frame->connect("value_changed", this, "_seek_value_changed",Vector<Variant>(),true); + scale->connect("text_entered", this, "_scale_changed",Vector<Variant>(),true); diff --git a/tools/editor/plugins/animation_player_editor_plugin.h b/tools/editor/plugins/animation_player_editor_plugin.h index 3f3cda25b2..b0c930b66e 100644 --- a/tools/editor/plugins/animation_player_editor_plugin.h +++ b/tools/editor/plugins/animation_player_editor_plugin.h @@ -145,7 +145,7 @@ class AnimationPlayerEditor : public VBoxContainer { void _scale_changed(const String& p_scale); void _dialog_action(String p_file); void _seek_frame_changed(const String& p_frame); - void _seek_value_changed(float p_value); + void _seek_value_changed(float p_value, bool p_set=false); void _blend_editor_next_changed(const int p_idx); void _list_changed(); @@ -158,7 +158,7 @@ class AnimationPlayerEditor : public VBoxContainer { void _animation_player_changed(Object *p_pl); - void _animation_key_editor_seek(float p_pos); + void _animation_key_editor_seek(float p_pos, bool p_drag); void _animation_key_editor_anim_len_changed(float p_new); void _animation_key_editor_anim_step_changed(float p_len); diff --git a/tools/editor/plugins/baked_light_baker.cpp b/tools/editor/plugins/baked_light_baker.cpp index b6bb774364..1962f81e87 100644 --- a/tools/editor/plugins/baked_light_baker.cpp +++ b/tools/editor/plugins/baked_light_baker.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* baked_light_baker.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "baked_light_baker.h" #include <stdlib.h> #include <cmath> diff --git a/tools/editor/plugins/baked_light_baker.h b/tools/editor/plugins/baked_light_baker.h index 5c172f79c6..d0fddf5563 100644 --- a/tools/editor/plugins/baked_light_baker.h +++ b/tools/editor/plugins/baked_light_baker.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light_baker.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BAKED_LIGHT_BAKER_H #define BAKED_LIGHT_BAKER_H diff --git a/tools/editor/plugins/baked_light_baker_cmpxchg.cpp b/tools/editor/plugins/baked_light_baker_cmpxchg.cpp index 42d3fc5276..c581995916 100644 --- a/tools/editor/plugins/baked_light_baker_cmpxchg.cpp +++ b/tools/editor/plugins/baked_light_baker_cmpxchg.cpp @@ -1,4 +1,31 @@ - +/*************************************************************************/ +/* baked_light_baker_cmpxchg.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "typedefs.h" diff --git a/tools/editor/plugins/baked_light_editor_plugin.cpp b/tools/editor/plugins/baked_light_editor_plugin.cpp index 3e7d7b63a1..df76f28ae0 100644 --- a/tools/editor/plugins/baked_light_editor_plugin.cpp +++ b/tools/editor/plugins/baked_light_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "baked_light_editor_plugin.h" #include "scene/gui/box_container.h" #include "scene/3d/mesh_instance.h" diff --git a/tools/editor/plugins/baked_light_editor_plugin.h b/tools/editor/plugins/baked_light_editor_plugin.h index 27ab88d70b..4985d7513e 100644 --- a/tools/editor/plugins/baked_light_editor_plugin.h +++ b/tools/editor/plugins/baked_light_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* baked_light_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef BAKED_LIGHT_EDITOR_PLUGIN_H #define BAKED_LIGHT_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp index 14a61d46b5..5ed9f8ab5f 100644 --- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_polygon_2d_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "collision_polygon_2d_editor_plugin.h" #include "canvas_item_editor_plugin.h" diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.h b/tools/editor/plugins/collision_polygon_2d_editor_plugin.h index f34405b355..982ba35fe8 100644 --- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.h +++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_polygon_2d_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef COLLISION_POLYGON_2D_EDITOR_PLUGIN_H #define COLLISION_POLYGON_2D_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp b/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp index 296362447f..d0cd73dcad 100644 --- a/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_shape_2d_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "collision_shape_2d_editor_plugin.h" #include "canvas_item_editor_plugin.h" diff --git a/tools/editor/plugins/collision_shape_2d_editor_plugin.h b/tools/editor/plugins/collision_shape_2d_editor_plugin.h index 75e9b68ea7..1ee81eda43 100644 --- a/tools/editor/plugins/collision_shape_2d_editor_plugin.h +++ b/tools/editor/plugins/collision_shape_2d_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* collision_shape_2d_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef COLLISION_SHAPE_2D_EDITOR_PLUGIN_H #define COLLISION_SHAPE_2D_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/color_ramp_editor_plugin.cpp b/tools/editor/plugins/color_ramp_editor_plugin.cpp index 267f3aa5bd..cb7f6a1809 100644 --- a/tools/editor/plugins/color_ramp_editor_plugin.cpp +++ b/tools/editor/plugins/color_ramp_editor_plugin.cpp @@ -1,7 +1,31 @@ -/* - * color_ramp_editor_plugin.cpp - */ - +/*************************************************************************/ +/* color_ramp_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "color_ramp_editor_plugin.h" #include "spatial_editor_plugin.h" #include "canvas_item_editor_plugin.h" diff --git a/tools/editor/plugins/color_ramp_editor_plugin.h b/tools/editor/plugins/color_ramp_editor_plugin.h index 02d691239f..300a9030b9 100644 --- a/tools/editor/plugins/color_ramp_editor_plugin.h +++ b/tools/editor/plugins/color_ramp_editor_plugin.h @@ -1,7 +1,31 @@ -/* - * color_ramp_editor_plugin.h - */ - +/*************************************************************************/ +/* color_ramp_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef TOOLS_EDITOR_PLUGINS_COLOR_RAMP_EDITOR_PLUGIN_H_ #define TOOLS_EDITOR_PLUGINS_COLOR_RAMP_EDITOR_PLUGIN_H_ diff --git a/tools/editor/plugins/control_editor_plugin.cpp b/tools/editor/plugins/control_editor_plugin.cpp deleted file mode 100644 index 9dff5e6ce4..0000000000 --- a/tools/editor/plugins/control_editor_plugin.cpp +++ /dev/null @@ -1,825 +0,0 @@ -/*************************************************************************/ -/* control_editor_plugin.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#if 0 -#include "control_editor_plugin.h" -#include "print_string.h" -#include "editor_node.h" -#include "os/keyboard.h" -#include "scene/main/viewport.h" - -void ControlEditor::_add_control(Control *p_control,const EditInfo& p_info) { - - if (controls.has(p_control)) - return; - - controls.insert(p_control,p_info); - p_control->call_deferred("connect","visibility_changed",this,"_visibility_changed",varray(p_control->get_instance_ID())); -} - -void ControlEditor::_remove_control(Control *p_control) { - - p_control->call_deferred("disconnect","visibility_changed",this,"_visibility_changed"); - controls.erase(p_control); -} -void ControlEditor::_clear_controls(){ - - while(controls.size()) - _remove_control(controls.front()->key()); -} - -void ControlEditor::_visibility_changed(ObjectID p_control) { - - Object *c = ObjectDB::get_instance(p_control); - if (!c) - return; - Control *ct = c->cast_to<Control>(); - if (!ct) - return; - - _remove_control(ct); -} - - -void ControlEditor::_node_removed(Node *p_node) { - - Control *control = (Control*)p_node; //not a good cast, but safe - if (controls.has(control)) - _remove_control(control); - - if (current_window==p_node) { - _clear_controls(); - } - update(); -} - -// slow as hell -Control* ControlEditor::_select_control_at_pos(const Point2& p_pos,Node* p_node) { - - for (int i=p_node->get_child_count()-1;i>=0;i--) { - - Control *r=_select_control_at_pos(p_pos,p_node->get_child(i)); - if (r) - return r; - } - - Control *c=p_node->cast_to<Control>(); - - if (c) { - Rect2 rect = c->get_window_rect(); - if (c->get_window()==current_window) { - rect.pos=transform.xform(rect.pos).floor(); - } - if (rect.has_point(p_pos)) - return c; - } - - return NULL; -} - - -void ControlEditor::_key_move(const Vector2& p_dir, bool p_snap) { - - if (drag!=DRAG_NONE) - return; - - Vector2 motion=p_dir; - if (p_snap) - motion*=snap_val->get_text().to_double(); - - undo_redo->create_action("Edit Control"); - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - Control *control = E->key(); - undo_redo->add_do_method(control,"set_pos",control->get_pos()+motion); - undo_redo->add_undo_method(control,"set_pos",control->get_pos()); - } - undo_redo->commit_action(); -} - - -void ControlEditor::_input_event(InputEvent p_event) { - - if (p_event.type==InputEvent::MOUSE_BUTTON) { - - const InputEventMouseButton &b=p_event.mouse_button; - - if (b.button_index==BUTTON_RIGHT) { - - if (controls.size() && drag!=DRAG_NONE) { - //cancel drag - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - Control *control = E->key(); - control->set_pos(E->get().drag_pos); - control->set_size(E->get().drag_size); - } - - } else if (b.pressed) { - popup->set_pos(Point2(b.x,b.y)); - popup->popup(); - } - return; - } - //if (!controls.size()) - // return; - - if (b.button_index!=BUTTON_LEFT) - return; - - if (!b.pressed) { - - if (drag!=DRAG_NONE) { - - if (undo_redo) { - - undo_redo->create_action("Edit Control"); - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - Control *control = E->key(); - undo_redo->add_do_method(control,"set_pos",control->get_pos()); - undo_redo->add_do_method(control,"set_size",control->get_size()); - undo_redo->add_undo_method(control,"set_pos",E->get().drag_pos); - undo_redo->add_undo_method(control,"set_size",E->get().drag_size); - } - undo_redo->commit_action(); - } - - drag=DRAG_NONE; - - } - return; - } - - - if (controls.size()==1) { - //try single control edit - Control *control = controls.front()->key(); - ERR_FAIL_COND(!current_window); - - Rect2 rect=control->get_window_rect(); - Point2 ofs=Point2();//get_global_pos(); - Rect2 draw_rect=Rect2(rect.pos-ofs,rect.size); - Point2 click=Point2(b.x,b.y); - click = transform.affine_inverse().xform(click); - Size2 handle_size=Size2(handle_len,handle_len); - - drag = DRAG_NONE; - - if (Rect2(draw_rect.pos-handle_size,handle_size).has_point(click)) - drag=DRAG_TOP_LEFT; - else if (Rect2(draw_rect.pos+draw_rect.size,handle_size).has_point(click)) - drag=DRAG_BOTTOM_RIGHT; - else if(Rect2(draw_rect.pos+Point2(draw_rect.size.width,-handle_size.y),handle_size).has_point(click)) - drag=DRAG_TOP_RIGHT; - else if (Rect2(draw_rect.pos+Point2(-handle_size.x,draw_rect.size.height),handle_size).has_point(click)) - drag=DRAG_BOTTOM_LEFT; - else if (Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),-handle_size.height),handle_size).has_point(click)) - drag=DRAG_TOP; - else if( Rect2(draw_rect.pos+Point2(-handle_size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size).has_point(click)) - drag=DRAG_LEFT; - else if ( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),draw_rect.size.height),handle_size).has_point(click)) - drag=DRAG_BOTTOM; - else if( Rect2(draw_rect.pos+Point2(draw_rect.size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size).has_point(click)) - drag=DRAG_RIGHT; - - if (drag!=DRAG_NONE) { - drag_from=click; - controls[control].drag_pos=control->get_pos(); - controls[control].drag_size=control->get_size(); - controls[control].drag_limit=drag_from+controls[control].drag_size-control->get_minimum_size(); - return; - } - - - } - - //multi control edit - - Point2 click=Point2(b.x,b.y); - Node* scene = get_scene()->get_root_node()->cast_to<EditorNode>()->get_edited_scene(); - if (!scene) - return; - /* - if (current_window) { - //no window.... ? - click-=current_window->get_scroll(); - }*/ - Control *c=_select_control_at_pos(click, scene); - - Node* n = c; - while ((n && n != scene && n->get_owner() != scene) || (n && !n->is_type("Control"))) { - n = n->get_parent(); - }; - c = n->cast_to<Control>(); - - - if (b.mod.control) { //additive selection - - if (!c) - return; //nothing to add - - if (current_window && controls.size() && c->get_window()!=current_window) - return; //cant multiple select from multiple windows - - if (!controls.size()) - current_window=c->get_window(); - - if (controls.has(c)) { - //already in here, erase it - _remove_control(c); - update(); - return; - } - - //check parents! - Control *parent = c->get_parent()->cast_to<Control>(); - - while(parent) { - - if (controls.has(parent)) - return; //a parent is already selected, so this is pointless - parent=parent->get_parent()->cast_to<Control>(); - } - - //check childrens of everything! - List<Control*> to_erase; - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - parent = E->key()->get_parent()->cast_to<Control>(); - while(parent) { - if (parent==c) { - to_erase.push_back(E->key()); - break; - } - parent=parent->get_parent()->cast_to<Control>(); - } - } - - while(to_erase.size()) { - _remove_control(to_erase.front()->get()); - to_erase.pop_front(); - } - - _add_control(c,EditInfo()); - update(); - } else { - //regular selection - if (!c) { - _clear_controls(); - update(); - return; - } - - if (!controls.has(c)) { - _clear_controls(); - current_window=c->get_window(); - _add_control(c,EditInfo()); - //reselect - if (get_scene()->is_editor_hint()) { - get_scene()->get_root_node()->call("edit_node",c); - } - - } - - - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - EditInfo &ei=E->get(); - Control *control=E->key(); - ei.drag_pos=control->get_pos(); - ei.drag_size=control->get_size(); - ei.drag_limit=drag_from+ei.drag_size-control->get_minimum_size(); - } - - drag=DRAG_ALL; - drag_from=click; - update(); - } - - } - - if (p_event.type==InputEvent::MOUSE_MOTION) { - - const InputEventMouseMotion &m=p_event.mouse_motion; - - if (drag==DRAG_NONE || !current_window) - return; - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - Control *control = E->key(); - Point2 control_drag_pos=E->get().drag_pos; - Point2 control_drag_size=E->get().drag_size; - Point2 control_drag_limit=E->get().drag_limit; - - Point2 pos=Point2(m.x,m.y); - pos = transform.affine_inverse().xform(pos); - - switch(drag) { - case DRAG_ALL: { - - control->set_pos( snapify(control_drag_pos+(pos-drag_from)) ); - } break; - case DRAG_RIGHT: { - - control->set_size( snapify(Size2(control_drag_size.width+(pos-drag_from).x,control_drag_size.height)) ); - } break; - case DRAG_BOTTOM: { - - control->set_size( snapify(Size2(control_drag_size.width,control_drag_size.height+(pos-drag_from).y)) ); - } break; - case DRAG_BOTTOM_RIGHT: { - - control->set_size( snapify(control_drag_size+(pos-drag_from)) ); - } break; - case DRAG_TOP_LEFT: { - - if(pos.x>control_drag_limit.x) - pos.x=control_drag_limit.x; - if(pos.y>control_drag_limit.y) - pos.y=control_drag_limit.y; - - Point2 old_size = control->get_size(); - Point2 new_pos = snapify(control_drag_pos+(pos-drag_from)); - Point2 new_size = old_size + (control->get_pos() - new_pos); - - control->set_pos( new_pos ); - control->set_size( new_size ); - } break; - case DRAG_TOP: { - - if(pos.y>control_drag_limit.y) - pos.y=control_drag_limit.y; - - Point2 old_size = control->get_size(); - Point2 new_pos = snapify(control_drag_pos+Point2(0,pos.y-drag_from.y)); - Point2 new_size = old_size + (control->get_pos() - new_pos); - - control->set_pos( new_pos ); - control->set_size( new_size ); - } break; - case DRAG_LEFT: { - - if(pos.x>control_drag_limit.x) - pos.x=control_drag_limit.x; - - Point2 old_size = control->get_size(); - Point2 new_pos = snapify(control_drag_pos+Point2(pos.x-drag_from.x,0)); - Point2 new_size = old_size + (control->get_pos() - new_pos); - - control->set_pos( new_pos ); - control->set_size( new_size ); - - } break; - case DRAG_TOP_RIGHT: { - - if(pos.y>control_drag_limit.y) - pos.y=control_drag_limit.y; - - Point2 old_size = control->get_size(); - Point2 new_pos = snapify(control_drag_pos+Point2(0,pos.y-drag_from.y)); - - float new_size_y = Point2( old_size + (control->get_pos() - new_pos)).y; - float new_size_x = snapify(control_drag_size+Point2(pos.x-drag_from.x,0)).x; - - control->set_pos( new_pos ); - control->set_size( Point2(new_size_x, new_size_y) ); - } break; - case DRAG_BOTTOM_LEFT: { - - if(pos.x>control_drag_limit.x) - pos.x=control_drag_limit.x; - - Point2 old_size = control->get_size(); - Point2 new_pos = snapify(control_drag_pos+Point2(pos.x-drag_from.x,0)); - - float new_size_y = snapify(control_drag_size+Point2(0,pos.y-drag_from.y)).y; - float new_size_x = Point2( old_size + (control->get_pos() - new_pos)).x; - - control->set_pos( new_pos ); - control->set_size( Point2(new_size_x, new_size_y) ); - - - } break; - - default:{} - } - } - } - - if (p_event.type==InputEvent::KEY) { - - const InputEventKey &k=p_event.key; - - if (k.pressed) { - - if (k.scancode==KEY_UP) - _key_move(Vector2(0,-1),k.mod.shift); - else if (k.scancode==KEY_DOWN) - _key_move(Vector2(0,1),k.mod.shift); - else if (k.scancode==KEY_LEFT) - _key_move(Vector2(-1,0),k.mod.shift); - else if (k.scancode==KEY_RIGHT) - _key_move(Vector2(1,0),k.mod.shift); - } - - } - - -} - - -bool ControlEditor::get_remove_list(List<Node*> *p_list) { - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - p_list->push_back(E->key()); - } - - return !p_list->empty(); -} - -void ControlEditor::_update_scroll(float) { - - if (updating_scroll) - return; - - if (!current_window) - return; - - Point2 ofs; - ofs.x=h_scroll->get_val(); - ofs.y=v_scroll->get_val(); - -// current_window->set_scroll(-ofs); - - transform=Matrix32(); - - transform.scale_basis(Size2(zoom,zoom)); - transform.elements[2]=-ofs*zoom; - - - RID viewport = editor->get_scene_root()->get_viewport(); - - VisualServer::get_singleton()->viewport_set_global_canvas_transform(viewport,transform); - - update(); - -} - -void ControlEditor::_notification(int p_what) { - - if (p_what==NOTIFICATION_PROCESS) { - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - Control *control = E->key(); - Rect2 r=control->get_window_rect(); - if (r != E->get().last_rect ) { - update(); - E->get().last_rect=r; - } - } - - } - - if (p_what==NOTIFICATION_CHILDREN_CONFIGURED) { - - get_scene()->connect("node_removed",this,"_node_removed"); - } - - if (p_what==NOTIFICATION_DRAW) { - - // TODO fetch the viewport? - /* - if (!control) { - h_scroll->hide(); - v_scroll->hide(); - return; - } - */ - _update_scrollbars(); - - if (!current_window) - return; - - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - Control *control = E->key(); - - Rect2 rect=control->get_window_rect(); - RID ci=get_canvas_item(); - VisualServer::get_singleton()->canvas_item_set_clip(ci,true); - Point2 ofs=Point2();//get_global_pos(); - Rect2 draw_rect=Rect2(rect.pos-ofs,rect.size); - draw_rect.pos = transform.xform(draw_rect.pos); - Color light_edit_color=Color(1.0,0.8,0.8); - Color dark_edit_color=Color(0.4,0.1,0.1); - Size2 handle_size=Size2(handle_len,handle_len); - -#define DRAW_RECT( m_rect, m_color )\ -VisualServer::get_singleton()->canvas_item_add_rect(ci,m_rect,m_color); - -#define DRAW_EMPTY_RECT( m_rect, m_color )\ - DRAW_RECT( Rect2(m_rect.pos,Size2(m_rect.size.width,1)), m_color );\ - DRAW_RECT(Rect2(Point2(m_rect.pos.x,m_rect.pos.y+m_rect.size.height-1),Size2(m_rect.size.width,1)), m_color);\ - DRAW_RECT(Rect2(m_rect.pos,Size2(1,m_rect.size.height)), m_color);\ - DRAW_RECT(Rect2(Point2(m_rect.pos.x+m_rect.size.width-1,m_rect.pos.y),Size2(1,m_rect.size.height)), m_color); - -#define DRAW_BORDER_RECT( m_rect, m_border_color,m_color )\ - DRAW_RECT( m_rect, m_color );\ - DRAW_EMPTY_RECT( m_rect, m_border_color ); - - DRAW_EMPTY_RECT( draw_rect.grow(2), light_edit_color ); - DRAW_EMPTY_RECT( draw_rect.grow(1), dark_edit_color ); - - if (controls.size()==1) { - DRAW_BORDER_RECT( Rect2(draw_rect.pos-handle_size,handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+draw_rect.size,handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(draw_rect.size.width,-handle_size.y),handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(-handle_size.x,draw_rect.size.height),handle_size), light_edit_color,dark_edit_color ); - - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),-handle_size.height),handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(-handle_size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),draw_rect.size.height),handle_size), light_edit_color,dark_edit_color ); - DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(draw_rect.size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size), light_edit_color,dark_edit_color ); - } - - //DRAW_EMPTY_RECT( Rect2( current_window->get_scroll()-Point2(1,1), get_size()+Size2(2,2)), Color(0.8,0.8,1.0,0.8) ); - E->get().last_rect = rect; - } - } -} - -void ControlEditor::edit(Control *p_control) { - - drag=DRAG_NONE; - - _clear_controls(); - _add_control(p_control,EditInfo()); - current_window=p_control->get_window(); - update(); - -} - - -void ControlEditor::_find_controls_span(Node *p_node, Rect2& r_rect) { - - if (!editor->get_scene()) - return; - - if (p_node!=editor->get_edited_scene() && p_node->get_owner()!=editor->get_edited_scene()) - return; - - if (p_node->cast_to<Control>()) { - Control *c = p_node->cast_to<Control>(); - if (c->get_viewport() != editor->get_viewport()->get_viewport()) - return; //bye, it's in another viewport - - if (!c->get_parent_control()) { - - Rect2 span = c->get_subtree_span_rect(); - r_rect.merge(span); - } - } - - for(int i=0;i<p_node->get_child_count();i++) { - - _find_controls_span(p_node->get_child(i),r_rect); - } -} - -void ControlEditor::_update_scrollbars() { - - - if (!editor->get_scene()) { - h_scroll->hide(); - v_scroll->hide(); - return; - } - - updating_scroll=true; - - - Size2 size = get_size(); - Size2 hmin = h_scroll->get_minimum_size(); - Size2 vmin = v_scroll->get_minimum_size(); - - v_scroll->set_begin( Point2(size.width - vmin.width, 0) ); - v_scroll->set_end( Point2(size.width, size.height) ); - - h_scroll->set_begin( Point2( 0, size.height - hmin.height) ); - h_scroll->set_end( Point2(size.width-vmin.width, size.height) ); - - - Rect2 local_rect = Rect2(Point2(),get_size()-Size2(vmin.width,hmin.height)); - - Rect2 control_rect=local_rect; - if (editor->get_edited_scene()) - _find_controls_span(editor->get_edited_scene(),control_rect); - control_rect.pos*=zoom; - control_rect.size*=zoom; - - /* - for(ControlMap::Element *E=controls.front();E;E=E->next()) { - - Control *control = E->key(); - Rect2 r = control->get_window()->get_subtree_span_rect(); - if (E==controls.front()) { - control_rect = r.merge(local_rect); - } else { - control_rect = control_rect.merge(r); - } - } - - */ - Point2 ofs; - - - if (control_rect.size.height <= local_rect.size.height) { - - v_scroll->hide(); - ofs.y=0; - } else { - - v_scroll->show(); - v_scroll->set_min(control_rect.pos.y); - v_scroll->set_max(control_rect.pos.y+control_rect.size.y); - v_scroll->set_page(local_rect.size.y); - ofs.y=-v_scroll->get_val(); - } - - if (control_rect.size.width <= local_rect.size.width) { - - h_scroll->hide(); - ofs.x=0; - } else { - - h_scroll->show(); - h_scroll->set_min(control_rect.pos.x); - h_scroll->set_max(control_rect.pos.x+control_rect.size.x); - h_scroll->set_page(local_rect.size.x); - ofs.x=-h_scroll->get_val(); - } - -// transform=Matrix32(); - transform.elements[2]=ofs*zoom; - RID viewport = editor->get_scene_root()->get_viewport(); - VisualServer::get_singleton()->viewport_set_global_canvas_transform(viewport,transform); - -// transform.scale_basis(Vector2(zoom,zoom)); - updating_scroll=false; - -} - - -Point2i ControlEditor::snapify(const Point2i& p_pos) const { - - bool active=popup->is_item_checked(0); - int snap = snap_val->get_text().to_int(); - - if (!active || snap<1) - return p_pos; - - Point2i pos=p_pos; - pos.x-=pos.x%snap; - pos.y-=pos.y%snap; - return pos; - - -} -void ControlEditor::_popup_callback(int p_op) { - - switch(p_op) { - - case SNAP_USE: { - - popup->set_item_checked(0,!popup->is_item_checked(0)); - } break; - case SNAP_CONFIGURE: { - snap_dialog->popup_centered(Size2(200,85)); - } break; - } -} - -void ControlEditor::_bind_methods() { - - ObjectTypeDB::bind_method("_input_event",&ControlEditor::_input_event); - ObjectTypeDB::bind_method("_node_removed",&ControlEditor::_node_removed); - ObjectTypeDB::bind_method("_update_scroll",&ControlEditor::_update_scroll); - ObjectTypeDB::bind_method("_popup_callback",&ControlEditor::_popup_callback); - ObjectTypeDB::bind_method("_visibility_changed",&ControlEditor::_visibility_changed); -} - -ControlEditor::ControlEditor(EditorNode *p_editor) { - - editor=p_editor; - h_scroll = memnew( HScrollBar ); - v_scroll = memnew( VScrollBar ); - - add_child(h_scroll); - add_child(v_scroll); - h_scroll->connect("value_changed", this,"_update_scroll",Vector<Variant>(),true); - v_scroll->connect("value_changed", this,"_update_scroll",Vector<Variant>(),true); - - - updating_scroll=false; - set_focus_mode(FOCUS_ALL); - handle_len=10; - - popup=memnew( PopupMenu ); - popup->add_check_item("Use Snap"); - popup->add_item("Configure Snap.."); - add_child(popup); - - snap_dialog = memnew( ConfirmationDialog ); - snap_dialog->get_ok()->hide(); - snap_dialog->get_cancel()->set_text("Close"); - add_child(snap_dialog); - - Label *l = memnew(Label); - l->set_text("Snap:"); - l->set_pos(Point2(5,5)); - snap_dialog->add_child(l); - - snap_val=memnew(LineEdit); - snap_val->set_text("5"); - snap_val->set_anchor(MARGIN_RIGHT,ANCHOR_END); - snap_val->set_begin(Point2(15,25)); - snap_val->set_end(Point2(10,25)); - snap_dialog->add_child(snap_val); - - popup->connect("item_pressed", this,"_popup_callback"); - current_window=NULL; - - zoom=0.5; -} - - -void ControlEditorPlugin::edit(Object *p_object) { - - control_editor->set_undo_redo(&get_undo_redo()); - control_editor->edit(p_object->cast_to<Control>()); -} - -bool ControlEditorPlugin::handles(Object *p_object) const { - - return p_object->is_type("Control"); -} - -void ControlEditorPlugin::make_visible(bool p_visible) { - - if (p_visible) { - control_editor->show(); - control_editor->set_process(true); - } else { - - control_editor->hide(); - control_editor->set_process(false); - } - -} - -ControlEditorPlugin::ControlEditorPlugin(EditorNode *p_node) { - - editor=p_node; - control_editor = memnew( ControlEditor(editor) ); - editor->get_viewport()->add_child(control_editor); - control_editor->set_area_as_parent_rect(); - control_editor->hide(); - - - -} - - -ControlEditorPlugin::~ControlEditorPlugin() -{ -} - - -#endif diff --git a/tools/editor/plugins/control_editor_plugin.h b/tools/editor/plugins/control_editor_plugin.h deleted file mode 100644 index 6234698ee8..0000000000 --- a/tools/editor/plugins/control_editor_plugin.h +++ /dev/null @@ -1,141 +0,0 @@ -/*************************************************************************/ -/* control_editor_plugin.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef CONTROL_EDITOR_PLUGIN_H -#define CONTROL_EDITOR_PLUGIN_H - -#include "tools/editor/editor_plugin.h" -#include "tools/editor/editor_node.h" -/** - @author Juan Linietsky <reduzio@gmail.com> -*/ - -#if 0 -class ControlEditor : public Control { - - OBJ_TYPE(ControlEditor, Control ); - - EditorNode *editor; - - enum { - SNAP_USE, - SNAP_CONFIGURE - }; - - enum DragType { - DRAG_NONE, - DRAG_LEFT, - DRAG_TOP_LEFT, - DRAG_TOP, - DRAG_TOP_RIGHT, - DRAG_RIGHT, - DRAG_BOTTOM_RIGHT, - DRAG_BOTTOM, - DRAG_BOTTOM_LEFT, - DRAG_ALL - }; - - HScrollBar *h_scroll; - VScrollBar *v_scroll; - - Matrix32 transform; - float zoom; - - Control *current_window; - PopupMenu *popup; - DragType drag; - Point2 drag_from; - - struct EditInfo { - - Point2 drag_pos; - Point2 drag_size; - Point2 drag_limit; - Rect2 last_rect; - }; - - typedef Map<Control*,EditInfo> ControlMap; - ControlMap controls; - int handle_len; - Control* _select_control_at_pos(const Point2& p_pos,Node* p_node); - - ConfirmationDialog *snap_dialog; - LineEdit *snap_val; - - void _add_control(Control *p_control,const EditInfo& p_info); - void _remove_control(Control *p_control); - void _clear_controls(); - void _visibility_changed(ObjectID p_control); - void _key_move(const Vector2& p_dir, bool p_snap); - - - Point2i snapify(const Point2i& p_pos) const; - void _popup_callback(int p_op); - bool updating_scroll; - void _update_scroll(float); - void _update_scrollbars(); - UndoRedo *undo_redo; - - void _find_controls_span(Node *p_node, Rect2& r_rect); - -protected: - void _notification(int p_what); - void _input_event(InputEvent p_event); - void _node_removed(Node *p_node); - static void _bind_methods(); -public: - - bool get_remove_list(List<Node*> *p_list); - void set_undo_redo(UndoRedo *p_undo_redo) {undo_redo=p_undo_redo; } - void edit(Control *p_control); - ControlEditor(EditorNode *p_editor); -}; - -class ControlEditorPlugin : public EditorPlugin { - - OBJ_TYPE( ControlEditorPlugin, EditorPlugin ); - - ControlEditor *control_editor; - EditorNode *editor; - -public: - - virtual String get_name() const { return "GUI"; } - bool has_main_screen() const { return true; } - virtual void edit(Object *p_object); - virtual bool handles(Object *p_object) const; - virtual void make_visible(bool p_visible); - virtual bool get_remove_list(List<Node*> *p_list) { return control_editor->get_remove_list(p_list); } - - - ControlEditorPlugin(EditorNode *p_node); - ~ControlEditorPlugin(); - -}; -#endif -#endif diff --git a/tools/editor/plugins/editor_preview_plugins.cpp b/tools/editor/plugins/editor_preview_plugins.cpp index 300e35f94d..a057e6c2a1 100644 --- a/tools/editor/plugins/editor_preview_plugins.cpp +++ b/tools/editor/plugins/editor_preview_plugins.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_preview_plugins.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "editor_preview_plugins.h" #include "io/resource_loader.h" #include "tools/editor/editor_settings.h" @@ -641,7 +669,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { for(int j=0;j<h;j++) { float v = (j/(float)h) * 2.0 - 1.0; - uint8_t* imgofs = &imgw[(j*w+i)*3]; + uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3]; if (v>min[0] && v<max[0]) { imgofs[0]=255; imgofs[1]=150; @@ -659,8 +687,8 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { float max[2]={-1e10,-1e10}; float min[2]={1e10,1e10}; int c=stereo?2:1; - int from = i*len/w; - int to = (i+1)*len/w; + int from = uint64_t(i)*len/w; + int to = (uint64_t(i)+1)*len/w; if (to>=len) to=len-1; @@ -671,7 +699,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { for(int k=from;k<=to;k++) { - float v = src[k*c+j]/32768.0; + float v = src[uint64_t(k)*c+j]/32768.0; if (v>max[j]) max[j]=v; if (v<min[j]) @@ -687,7 +715,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) { for(int k=from;k<=to;k++) { - float v = src[k*c+j]/128.0; + float v = src[uint64_t(k)*c+j]/128.0; if (v>max[j]) max[j]=v; if (v<min[j]) diff --git a/tools/editor/plugins/editor_preview_plugins.h b/tools/editor/plugins/editor_preview_plugins.h index b3bfda8045..b33aefaa23 100644 --- a/tools/editor/plugins/editor_preview_plugins.h +++ b/tools/editor/plugins/editor_preview_plugins.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* editor_preview_plugins.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef EDITORPREVIEWPLUGINS_H #define EDITORPREVIEWPLUGINS_H diff --git a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp index bf3b2fa68d..14e7b14fc3 100644 --- a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +++ b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_occluder_2d_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "light_occluder_2d_editor_plugin.h" #include "canvas_item_editor_plugin.h" diff --git a/tools/editor/plugins/light_occluder_2d_editor_plugin.h b/tools/editor/plugins/light_occluder_2d_editor_plugin.h index 5fb5631d05..b570fff506 100644 --- a/tools/editor/plugins/light_occluder_2d_editor_plugin.h +++ b/tools/editor/plugins/light_occluder_2d_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* light_occluder_2d_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef LIGHT_OCCLUDER_2D_EDITOR_PLUGIN_H #define LIGHT_OCCLUDER_2D_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/mesh_editor_plugin.cpp b/tools/editor/plugins/mesh_editor_plugin.cpp index 51a436e58d..71cf33ba1b 100644 --- a/tools/editor/plugins/mesh_editor_plugin.cpp +++ b/tools/editor/plugins/mesh_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* mesh_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "mesh_editor_plugin.h" void MeshEditor::_input_event(InputEvent p_event) { diff --git a/tools/editor/plugins/mesh_editor_plugin.h b/tools/editor/plugins/mesh_editor_plugin.h index 190dfca464..0715a96e74 100644 --- a/tools/editor/plugins/mesh_editor_plugin.h +++ b/tools/editor/plugins/mesh_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* mesh_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef MESH_EDITOR_PLUGIN_H #define MESH_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/mesh_instance_editor_plugin.cpp b/tools/editor/plugins/mesh_instance_editor_plugin.cpp index f604e4c57c..c952feb1da 100644 --- a/tools/editor/plugins/mesh_instance_editor_plugin.cpp +++ b/tools/editor/plugins/mesh_instance_editor_plugin.cpp @@ -183,6 +183,12 @@ void MeshInstanceEditor::_create_outline_mesh() { return; } + if (mesh->get_surface_count() == 0) { + err_dialog->set_text(TTR("Mesh has not surface to create outlines from!")); + err_dialog->popup_centered_minsize(); + return; + } + Ref<Mesh> mesho = mesh->create_outline(outline_size->get_val()); if (mesho.is_null()) { diff --git a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp index 1ee388ca18..5a8cd8791e 100644 --- a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp +++ b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_polygon_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "navigation_polygon_editor_plugin.h" #include "canvas_item_editor_plugin.h" diff --git a/tools/editor/plugins/navigation_polygon_editor_plugin.h b/tools/editor/plugins/navigation_polygon_editor_plugin.h index f742cb011d..503b4c2662 100644 --- a/tools/editor/plugins/navigation_polygon_editor_plugin.h +++ b/tools/editor/plugins/navigation_polygon_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* navigation_polygon_editor_plugin.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef NAVIGATIONPOLYGONEDITORPLUGIN_H #define NAVIGATIONPOLYGONEDITORPLUGIN_H diff --git a/tools/editor/plugins/path_2d_editor_plugin.cpp b/tools/editor/plugins/path_2d_editor_plugin.cpp index 107ec30a91..95f330a1d5 100644 --- a/tools/editor/plugins/path_2d_editor_plugin.cpp +++ b/tools/editor/plugins/path_2d_editor_plugin.cpp @@ -633,35 +633,35 @@ Path2DEditor::Path2DEditor(EditorNode *p_editor) { sep = memnew( VSeparator); base_hb->add_child(sep); curve_edit = memnew( ToolButton ); - curve_edit->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveEdit","EditorIcons")); + curve_edit->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveEdit","EditorIcons")); curve_edit->set_toggle_mode(true); curve_edit->set_focus_mode(Control::FOCUS_NONE); curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point")); curve_edit->connect("pressed",this,"_mode_selected",varray(MODE_EDIT)); base_hb->add_child(curve_edit); curve_edit_curve = memnew( ToolButton ); - curve_edit_curve->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveCurve","EditorIcons")); + curve_edit_curve->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCurve","EditorIcons")); curve_edit_curve->set_toggle_mode(true); curve_edit_curve->set_focus_mode(Control::FOCUS_NONE); curve_edit_curve->set_tooltip(TTR("Select Control Points (Shift+Drag)")); curve_edit_curve->connect("pressed",this,"_mode_selected",varray(MODE_EDIT_CURVE)); base_hb->add_child(curve_edit_curve); curve_create = memnew( ToolButton ); - curve_create->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveCreate","EditorIcons")); + curve_create->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCreate","EditorIcons")); curve_create->set_toggle_mode(true); curve_create->set_focus_mode(Control::FOCUS_NONE); curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)")); curve_create->connect("pressed",this,"_mode_selected",varray(MODE_CREATE)); base_hb->add_child(curve_create); curve_del = memnew( ToolButton ); - curve_del->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveDelete","EditorIcons")); + curve_del->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveDelete","EditorIcons")); curve_del->set_toggle_mode(true); curve_del->set_focus_mode(Control::FOCUS_NONE); curve_del->set_tooltip(TTR("Delete Point")); curve_del->connect("pressed",this,"_mode_selected",varray(MODE_DELETE)); base_hb->add_child(curve_del); curve_close = memnew( ToolButton ); - curve_close->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveClose","EditorIcons")); + curve_close->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveClose","EditorIcons")); curve_close->set_focus_mode(Control::FOCUS_NONE); curve_close->set_tooltip(TTR("Close Curve")); curve_close->connect("pressed",this,"_mode_selected",varray(ACTION_CLOSE)); diff --git a/tools/editor/plugins/path_editor_plugin.cpp b/tools/editor/plugins/path_editor_plugin.cpp index d7cc2bd157..33ef71efab 100644 --- a/tools/editor/plugins/path_editor_plugin.cpp +++ b/tools/editor/plugins/path_editor_plugin.cpp @@ -542,28 +542,28 @@ PathEditorPlugin::PathEditorPlugin(EditorNode *p_node) { sep->hide(); SpatialEditor::get_singleton()->add_control_to_menu_panel(sep); curve_edit = memnew( ToolButton ); - curve_edit->set_icon(SpatialEditor::get_singleton()->get_icon("CurveEdit","EditorIcons")); + curve_edit->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveEdit","EditorIcons")); curve_edit->set_toggle_mode(true); curve_edit->hide(); curve_edit->set_focus_mode(Control::FOCUS_NONE); curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point")); SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_edit); curve_create = memnew( ToolButton ); - curve_create->set_icon(SpatialEditor::get_singleton()->get_icon("CurveCreate","EditorIcons")); + curve_create->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCreate","EditorIcons")); curve_create->set_toggle_mode(true); curve_create->hide(); curve_create->set_focus_mode(Control::FOCUS_NONE); curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)")); SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_create); curve_del = memnew( ToolButton ); - curve_del->set_icon(SpatialEditor::get_singleton()->get_icon("CurveDelete","EditorIcons")); + curve_del->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveDelete","EditorIcons")); curve_del->set_toggle_mode(true); curve_del->hide(); curve_del->set_focus_mode(Control::FOCUS_NONE); curve_del->set_tooltip(TTR("Delete Point")); SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_del); curve_close = memnew( ToolButton ); - curve_close->set_icon(SpatialEditor::get_singleton()->get_icon("CurveClose","EditorIcons")); + curve_close->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveClose","EditorIcons")); curve_close->hide(); curve_close->set_focus_mode(Control::FOCUS_NONE); curve_close->set_tooltip(TTR("Close Curve")); diff --git a/tools/editor/plugins/polygon_2d_editor_plugin.cpp b/tools/editor/plugins/polygon_2d_editor_plugin.cpp index f873b43fd9..d78508c429 100644 --- a/tools/editor/plugins/polygon_2d_editor_plugin.cpp +++ b/tools/editor/plugins/polygon_2d_editor_plugin.cpp @@ -1,5 +1,5 @@ /*************************************************************************/ -/* collision_polygon_editor_plugin.cpp */ +/* polygon_2d_editor_plugin.cpp */ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ diff --git a/tools/editor/plugins/polygon_2d_editor_plugin.h b/tools/editor/plugins/polygon_2d_editor_plugin.h index 0939c44264..d8b951ec44 100644 --- a/tools/editor/plugins/polygon_2d_editor_plugin.h +++ b/tools/editor/plugins/polygon_2d_editor_plugin.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* polygon_2d_editor_plugin.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #ifndef POLYGON_2D_EDITOR_PLUGIN_H #define POLYGON_2D_EDITOR_PLUGIN_H diff --git a/tools/editor/plugins/sample_editor_plugin.cpp b/tools/editor/plugins/sample_editor_plugin.cpp index a3891a648b..b094184a29 100644 --- a/tools/editor/plugins/sample_editor_plugin.cpp +++ b/tools/editor/plugins/sample_editor_plugin.cpp @@ -211,7 +211,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag for(int j=0;j<h;j++) { float v = (j/(float)h) * 2.0 - 1.0; - uint8_t* imgofs = &imgw[(j*w+i)*3]; + uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3]; if (v>min[0] && v<max[0]) { imgofs[0]=255; imgofs[1]=150; @@ -229,8 +229,8 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag float max[2]={-1e10,-1e10}; float min[2]={1e10,1e10}; int c=stereo?2:1; - int from = i*len/w; - int to = (i+1)*len/w; + int from = uint64_t(i)*len/w; + int to = (uint64_t(i)+1)*len/w; if (to>=len) to=len-1; @@ -241,7 +241,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag for(int k=from;k<=to;k++) { - float v = src[k*c+j]/32768.0; + float v = src[uint64_t(k)*c+j]/32768.0; if (v>max[j]) max[j]=v; if (v<min[j]) @@ -257,7 +257,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag for(int k=from;k<=to;k++) { - float v = src[k*c+j]/128.0; + float v = src[uint64_t(k)*c+j]/128.0; if (v>max[j]) max[j]=v; if (v<min[j]) @@ -270,7 +270,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag if (!stereo) { for(int j=0;j<h;j++) { float v = (j/(float)h) * 2.0 - 1.0; - uint8_t* imgofs = &imgw[(j*w+i)*3]; + uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3]; if (v>min[0] && v<max[0]) { imgofs[0]=255; imgofs[1]=150; @@ -297,7 +297,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag v = ((j-(h/2))/(float)(h/2)) * 2.0 - 1.0; } - uint8_t* imgofs = &imgw[(j*w+i)*3]; + uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3]; if (v>min[half] && v<max[half]) { imgofs[0]=255; imgofs[1]=150; diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp index a313b0053a..7de80e767b 100644 --- a/tools/editor/plugins/script_editor_plugin.cpp +++ b/tools/editor/plugins/script_editor_plugin.cpp @@ -531,7 +531,7 @@ static void _find_changed_scripts_for_external_editor(Node* p_base, Node*p_curre } -void ScriptEditor::_update_modified_scripts_for_external_editor() { +void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_for_script) { if (!bool(EditorSettings::get_singleton()->get("external_editor/use_external_editor"))) return; @@ -547,6 +547,9 @@ void ScriptEditor::_update_modified_scripts_for_external_editor() { Ref<Script> script = E->get(); + if (p_for_script.is_valid() && p_for_script!=script) + continue; + if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1) { continue; //internal script, who cares, though weird @@ -900,7 +903,7 @@ void ScriptEditor::_live_auto_reload_running_scripts() { } -bool ScriptEditor::_test_script_times_on_disk() { +bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) { disk_changed_list->clear(); @@ -920,6 +923,9 @@ bool ScriptEditor::_test_script_times_on_disk() { Ref<Script> script = ste->get_edited_script(); + if (p_for_script.is_valid() && p_for_script!=script) + continue; + if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1) continue; //internal script, who cares @@ -2128,6 +2134,12 @@ void ScriptEditor::edit(const Ref<Script>& p_script) { if (!restoring_layout) { EditorNode::get_singleton()->save_layout(); } + + //test for modification, maybe the script was not edited but was loaded + + _test_script_times_on_disk(p_script); + _update_modified_scripts_for_external_editor(p_script); + } void ScriptEditor::save_all_scripts() { @@ -2201,7 +2213,7 @@ void ScriptEditor::_editor_stop() { void ScriptEditor::_add_callback(Object *p_obj, const String& p_function, const StringArray& p_args) { - print_line("add callback! hohoho"); + //print_line("add callback! hohoho"); kinda sad to remove this ERR_FAIL_COND(!p_obj); Ref<Script> script = p_obj->get_script(); ERR_FAIL_COND( !script.is_valid() ); @@ -2243,7 +2255,6 @@ void ScriptEditor::_add_callback(Object *p_obj, const String& p_function, const void ScriptEditor::_editor_settings_changed() { - print_line("settings changed"); trim_trailing_whitespace_on_save = EditorSettings::get_singleton()->get("text_editor/trim_trailing_whitespace_on_save"); float autosave_time = EditorSettings::get_singleton()->get("text_editor/autosave_interval_secs"); if (autosave_time>0) { @@ -2284,7 +2295,6 @@ void ScriptEditor::_editor_settings_changed() { void ScriptEditor::_autosave_scripts() { - print_line("autosaving"); save_all_scripts(); } @@ -2625,7 +2635,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) { file_menu->get_popup()->add_separator(); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KEY_MASK_ALT|KEY_MASK_CMD|KEY_S), FILE_SAVE); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_as", TTR("Save As..")), FILE_SAVE_AS); - file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_S), FILE_SAVE_ALL); + file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_MASK_ALT|KEY_S), FILE_SAVE_ALL); file_menu->get_popup()->add_separator(); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_previous", TTR("History Prev"), KEY_MASK_CTRL|KEY_MASK_ALT|KEY_LEFT), WINDOW_PREV); file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_next", TTR("History Next"), KEY_MASK_CTRL|KEY_MASK_ALT|KEY_RIGHT), WINDOW_NEXT); diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h index 3d723adfe9..0636190a41 100644 --- a/tools/editor/plugins/script_editor_plugin.h +++ b/tools/editor/plugins/script_editor_plugin.h @@ -232,7 +232,7 @@ class ScriptEditor : public VBoxContainer { void _resave_scripts(const String& p_str); void _reload_scripts(); - bool _test_script_times_on_disk(); + bool _test_script_times_on_disk(Ref<Script> p_for_script=Ref<Script>()); void _close_current_tab(); @@ -291,7 +291,7 @@ class ScriptEditor : public VBoxContainer { void _go_to_tab(int p_idx); void _update_history_pos(int p_new_pos); void _update_script_colors(); - void _update_modified_scripts_for_external_editor(); + void _update_modified_scripts_for_external_editor(Ref<Script> p_for_script=Ref<Script>()); int file_dialog_option; void _file_dialog_action(String p_file); diff --git a/tools/editor/plugins/shader_editor_plugin.cpp b/tools/editor/plugins/shader_editor_plugin.cpp index f4b294daa5..83db650952 100644 --- a/tools/editor/plugins/shader_editor_plugin.cpp +++ b/tools/editor/plugins/shader_editor_plugin.cpp @@ -30,6 +30,7 @@ #include "tools/editor/editor_settings.h" #include "spatial_editor_plugin.h" +#include "scene/resources/shader_graph.h" #include "io/resource_loader.h" #include "io/resource_saver.h" #include "os/keyboard.h" @@ -144,8 +145,6 @@ void ShaderTextEditor::_validate_script() { //List<StringName> params; //shader->get_param_list(¶ms); - print_line("compile: type: "+itos(type)+" code:\n"+code); - Error err = ShaderLanguage::compile(code,type,NULL,NULL,&errortxt,&line,&col); if (err!=OK) { @@ -557,34 +556,41 @@ ShaderEditor::ShaderEditor() { void ShaderEditorPlugin::edit(Object *p_object) { - if (!p_object->cast_to<Shader>()) + Shader* s = p_object->cast_to<Shader>(); + if (!s || s->cast_to<ShaderGraph>()) { + shader_editor->hide(); //Dont edit ShaderGraph return; + } - shader_editor->edit(p_object->cast_to<Shader>()); + if (_2d && s->get_mode()==Shader::MODE_CANVAS_ITEM) + shader_editor->edit(s); + else if (!_2d && s->get_mode()==Shader::MODE_MATERIAL) + shader_editor->edit(s); } bool ShaderEditorPlugin::handles(Object *p_object) const { + bool handles = true; Shader *shader=p_object->cast_to<Shader>(); - if (!shader) - return false; - if (_2d) - return shader->get_mode()==Shader::MODE_CANVAS_ITEM; - else + if (!shader || shader->cast_to<ShaderGraph>()) // Dont handle ShaderGraph's + handles = false; + if (handles && _2d) + handles = shader->get_mode()==Shader::MODE_CANVAS_ITEM; + else if (handles && !_2d) return shader->get_mode()==Shader::MODE_MATERIAL; + + if (!handles) + shader_editor->hide(); + return handles; } void ShaderEditorPlugin::make_visible(bool p_visible) { if (p_visible) { shader_editor->show(); - //shader_editor->set_process(true); } else { - shader_editor->apply_shaders(); - //shader_editor->hide(); - //shader_editor->set_process(false); } } diff --git a/tools/editor/plugins/shader_graph_editor_plugin.h b/tools/editor/plugins/shader_graph_editor_plugin.h index 8d1d08ee1d..67ee5e2d45 100644 --- a/tools/editor/plugins/shader_graph_editor_plugin.h +++ b/tools/editor/plugins/shader_graph_editor_plugin.h @@ -33,7 +33,6 @@ #include "tools/editor/editor_plugin.h" #include "tools/editor/editor_node.h" #include "scene/resources/shader.h" -#include "servers/visual/shader_graph.h" #include "scene/gui/tree.h" #include "scene/gui/button.h" #include "scene/gui/graph_edit.h" diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp index fdb654571a..8d72178f23 100644 --- a/tools/editor/plugins/spatial_editor_plugin.cpp +++ b/tools/editor/plugins/spatial_editor_plugin.cpp @@ -1580,7 +1580,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) { nav_mode = NAVIGATION_PAN; } - } else if (EditorSettings::get_singleton()->get("3d_editor/trackpad_hint")) { + } else if (EditorSettings::get_singleton()->get("3d_editor/emulate_3_button_mouse")) { // Handle trackpad (no external mouse) use case int mod = 0; if (m.mod.shift) diff --git a/tools/editor/plugins/theme_editor_plugin.cpp b/tools/editor/plugins/theme_editor_plugin.cpp index 2673948365..5db331ba45 100644 --- a/tools/editor/plugins/theme_editor_plugin.cpp +++ b/tools/editor/plugins/theme_editor_plugin.cpp @@ -348,7 +348,7 @@ void ThemeEditor::_dialog_cbk() { names.clear(); Theme::get_default()->get_icon_list(fromtype,&names); for(List<StringName>::Element *E=names.front();E;E=E->next()) { - theme->set_icon(E->get(),fromtype,Theme::get_default()->get_icon(E->get(),fromtype)); + theme->set_icon(E->get(),fromtype,Ref<Texture>()); } @@ -357,7 +357,7 @@ void ThemeEditor::_dialog_cbk() { names.clear(); Theme::get_default()->get_stylebox_list(fromtype,&names); for(List<StringName>::Element *E=names.front();E;E=E->next()) { - theme->set_stylebox(E->get(),fromtype,Theme::get_default()->get_stylebox(E->get(),fromtype)); + theme->set_stylebox(E->get(),fromtype,Ref<StyleBox>()); } @@ -366,7 +366,7 @@ void ThemeEditor::_dialog_cbk() { names.clear(); Theme::get_default()->get_font_list(fromtype,&names); for(List<StringName>::Element *E=names.front();E;E=E->next()) { - theme->set_font(E->get(),fromtype,Theme::get_default()->get_font(E->get(),fromtype)); + theme->set_font(E->get(),fromtype,Ref<Font>()); } } @@ -454,11 +454,73 @@ void ThemeEditor::_dialog_cbk() { void ThemeEditor::_theme_menu_cbk(int p_option) { - if (p_option==POPUP_CREATE_TEMPLATE) { + if (p_option==POPUP_CREATE_EMPTY || p_option==POPUP_CREATE_EDITOR_EMPTY) { - file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE); - file_dialog->set_current_path("custom.theme"); - file_dialog->popup_centered_ratio(); + + Ref<Theme> base_theme; + + if (p_option==POPUP_CREATE_EMPTY) { + base_theme = Theme::get_default(); + } else { + base_theme = EditorNode::get_singleton()->get_theme_base()->get_theme(); + } + + + { + + List<StringName> types; + base_theme->get_type_list(&types); + + + for (List<StringName>::Element *T=types.front();T;T=T->next()) { + StringName type = T->get(); + + List<StringName> icons; + base_theme->get_icon_list(type,&icons); + + for (List<StringName>::Element *E=icons.front();E;E=E->next()) { + theme->set_icon(E->get(),type,Ref<Texture>()); + } + + List<StringName> shaders; + base_theme->get_shader_list(type,&shaders); + + for (List<StringName>::Element *E=shaders.front();E;E=E->next()) { + theme->set_shader(E->get(),type,Ref<Shader>()); + } + + List<StringName> styleboxs; + base_theme->get_stylebox_list(type,&styleboxs); + + for (List<StringName>::Element *E=styleboxs.front();E;E=E->next()) { + theme->set_stylebox(E->get(),type,Ref<StyleBox>()); + } + + List<StringName> fonts; + base_theme->get_font_list(type,&fonts); + + for (List<StringName>::Element *E=fonts.front();E;E=E->next()) { + theme->set_font(E->get(),type,Ref<Font>()); + } + + List<StringName> colors; + base_theme->get_color_list(type,&colors); + + for (List<StringName>::Element *E=colors.front();E;E=E->next()) { + theme->set_color(E->get(),type,Color()); + } + + + List<StringName> constants; + base_theme->get_constant_list(type,&constants); + + for (List<StringName>::Element *E=constants.front();E;E=E->next()) { + theme->set_constant(E->get(),type,base_theme->get_constant(type,E->get())); + } + + } + + } return; } @@ -475,7 +537,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { add_del_dialog->set_title(TTR("Add Item")); add_del_dialog->get_ok()->set_text(TTR("Add")); - add_del_dialog->popup_centered(Size2(490,85)); + add_del_dialog->popup_centered(Size2(490,85)*EDSCALE); base_theme=Theme::get_default(); @@ -483,7 +545,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { add_del_dialog->set_title(TTR("Add All Items")); add_del_dialog->get_ok()->set_text(TTR("Add All")); - add_del_dialog->popup_centered(Size2(240,85)); + add_del_dialog->popup_centered(Size2(240,85)*EDSCALE); base_theme=Theme::get_default(); @@ -497,7 +559,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { add_del_dialog->set_title(TTR("Remove Item")); add_del_dialog->get_ok()->set_text(TTR("Remove")); - add_del_dialog->popup_centered(Size2(490,85)); + add_del_dialog->popup_centered(Size2(490,85)*EDSCALE); base_theme=theme; @@ -505,7 +567,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { add_del_dialog->set_title("Remove All Items"); add_del_dialog->get_ok()->set_text("Remove All"); - add_del_dialog->popup_centered(Size2(240,85)); + add_del_dialog->popup_centered(Size2(240,85)*EDSCALE); base_theme=Theme::get_default(); @@ -521,12 +583,14 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { List<StringName> types; base_theme->get_type_list(&types); + type_menu->get_popup()->clear();; if (p_option==0 || p_option==1) {//add List<StringName> new_types; theme->get_type_list(&new_types); + //uh kind of sucks for(List<StringName>::Element *F=new_types.front();F;F=F->next()) { @@ -544,8 +608,8 @@ void ThemeEditor::_theme_menu_cbk(int p_option) { } } - types.sort(); - + //types.sort(); + types.sort_custom<StringName::AlphCompare>(); for(List<StringName>::Element *E=types.front();E;E=E->next()) { type_menu->get_popup()->add_item( E->get() ); @@ -579,15 +643,23 @@ ThemeEditor::ThemeEditor() { time_left=0; + scroll = memnew( ScrollContainer ); + add_child(scroll); + scroll->set_area_as_parent_rect(3); + scroll->set_margin(MARGIN_TOP,30*EDSCALE); + //scroll->set_enable_h_scroll(true); + scroll->set_enable_v_scroll(true); + scroll->set_enable_h_scroll(false); + Panel * panel = memnew( Panel ); - add_child(panel); - panel->set_area_as_parent_rect(0); - panel->set_margin(MARGIN_TOP,25); + scroll->add_child(panel); + panel->set_custom_minimum_size(Size2(500,800)*EDSCALE); panel->set_theme(Theme::get_default()); + panel->set_h_size_flags(SIZE_EXPAND_FILL); main_vb= memnew( VBoxContainer ); panel->add_child(main_vb); - main_vb->set_area_as_parent_rect(4); + main_vb->set_area_as_parent_rect(4*EDSCALE); HBoxContainer *hb_menu = memnew(HBoxContainer); @@ -602,8 +674,11 @@ ThemeEditor::ThemeEditor() { theme_menu->get_popup()->add_item(TTR("Remove Item"),POPUP_REMOVE); theme_menu->get_popup()->add_item(TTR("Remove Class Items"),POPUP_CLASS_REMOVE); theme_menu->get_popup()->add_separator(); - theme_menu->get_popup()->add_item(TTR("Create Template"),POPUP_CREATE_TEMPLATE); - hb_menu->add_child(theme_menu); + theme_menu->get_popup()->add_item(TTR("Create Empty Template"),POPUP_CREATE_EMPTY); + theme_menu->get_popup()->add_item(TTR("Create Empty Editor Template"),POPUP_CREATE_EDITOR_EMPTY); + + add_child(theme_menu); + theme_menu->set_pos(Vector2(3,3)*EDSCALE); theme_menu->get_popup()->connect("item_pressed", this,"_theme_menu_cbk"); @@ -678,26 +753,26 @@ ThemeEditor::ThemeEditor() { pb->set_val(50); first_vb->add_child( pb); Panel *pn=memnew( Panel ); - pn->set_custom_minimum_size(Size2(40,40)); + pn->set_custom_minimum_size(Size2(40,40)*EDSCALE); first_vb->add_child( pn); - first_vb->add_constant_override("separation",10); + first_vb->add_constant_override("separation",10*EDSCALE); VBoxContainer *second_vb = memnew( VBoxContainer ); second_vb->set_h_size_flags(SIZE_EXPAND_FILL); main_hb->add_child(second_vb); - second_vb->add_constant_override("separation",10); + second_vb->add_constant_override("separation",10*EDSCALE); LineEdit *le = memnew( LineEdit ); le->set_text("LineEdit"); second_vb->add_child(le); TextEdit *te = memnew( TextEdit ); te->set_text("TextEdit"); //te->set_v_size_flags(SIZE_EXPAND_FILL); - te->set_custom_minimum_size(Size2(0,160)); + te->set_custom_minimum_size(Size2(0,160)*EDSCALE); second_vb->add_child(te); Tree *test_tree = memnew(Tree); second_vb->add_child(test_tree); - test_tree->set_custom_minimum_size(Size2(0,160)); + test_tree->set_custom_minimum_size(Size2(0,160)*EDSCALE); TreeItem *item = test_tree->create_item(); @@ -725,7 +800,7 @@ ThemeEditor::ThemeEditor() { main_hb->add_child(third_vb); HBoxContainer *vhb = memnew( HBoxContainer ); - vhb->set_custom_minimum_size(Size2(0,160)); + vhb->set_custom_minimum_size(Size2(0,160)*EDSCALE); vhb->add_child(memnew(VSeparator)); vhb->add_child(memnew(VSlider)); vhb->add_child(memnew(VScrollBar)); @@ -733,7 +808,7 @@ ThemeEditor::ThemeEditor() { TabContainer *tc = memnew( TabContainer ); third_vb->add_child(tc); - tc->set_custom_minimum_size(Size2(0,160)); + tc->set_custom_minimum_size(Size2(0,160)*EDSCALE); Control *tcc = memnew( Control ); tcc->set_name(TTR("Tab 1")); tc->add_child(tcc); @@ -744,7 +819,7 @@ ThemeEditor::ThemeEditor() { tcc->set_name(TTR("Tab 3")); tc->add_child(tcc); - main_hb->add_constant_override("separation",20); + main_hb->add_constant_override("separation",20*EDSCALE); @@ -807,37 +882,37 @@ ThemeEditor::ThemeEditor() { Label *l = memnew( Label ); - l->set_pos( Point2(5,5) ); + l->set_pos( Point2(5,5)*EDSCALE ); l->set_text(TTR("Type:")); add_del_dialog->add_child(l); dtype_select_label=l; type_edit = memnew( LineEdit ); - type_edit->set_pos(Point2(5,25)); - type_edit->set_size(Point2(150,5)); + type_edit->set_pos(Point2(5,25)*EDSCALE); + type_edit->set_size(Point2(150,5)*EDSCALE); add_del_dialog->add_child(type_edit); type_menu = memnew( MenuButton ); - type_menu->set_pos(Point2(160,25)); - type_menu->set_size(Point2(30,5)); + type_menu->set_pos(Point2(160,25)*EDSCALE); + type_menu->set_size(Point2(30,5)*EDSCALE); type_menu->set_text(".."); add_del_dialog->add_child(type_menu); type_menu->get_popup()->connect("item_pressed", this,"_type_menu_cbk"); l = memnew( Label ); - l->set_pos( Point2(200,5) ); + l->set_pos( Point2(200,5)*EDSCALE ); l->set_text(TTR("Name:")); add_del_dialog->add_child(l); name_select_label=l; name_edit = memnew( LineEdit ); - name_edit->set_pos(Point2(200,25)); - name_edit->set_size(Point2(150,5)); + name_edit->set_pos(Point2(200,25)*EDSCALE); + name_edit->set_size(Point2(150,5)*EDSCALE); add_del_dialog->add_child(name_edit); name_menu = memnew( MenuButton ); - name_menu->set_pos(Point2(360,25)); - name_menu->set_size(Point2(30,5)); + name_menu->set_pos(Point2(360,25)*EDSCALE); + name_menu->set_size(Point2(30,5)*EDSCALE); name_menu->set_text(".."); add_del_dialog->add_child(name_menu); @@ -846,7 +921,7 @@ ThemeEditor::ThemeEditor() { name_menu->get_popup()->connect("item_pressed", this,"_name_menu_cbk"); type_select_label= memnew( Label ); - type_select_label->set_pos( Point2(400,5) ); + type_select_label->set_pos( Point2(400,5)*EDSCALE ); type_select_label->set_text(TTR("Data Type:")); add_del_dialog->add_child(type_select_label); @@ -856,8 +931,8 @@ ThemeEditor::ThemeEditor() { type_select->add_item(TTR("Font")); type_select->add_item(TTR("Color")); type_select->add_item(TTR("Constant")); - type_select->set_pos( Point2( 400,25 ) ); - type_select->set_size( Point2( 80,5 ) ); + type_select->set_pos( Point2( 400,25 )*EDSCALE ); + type_select->set_size( Point2( 80,5 )*EDSCALE ); add_del_dialog->add_child(type_select); @@ -910,7 +985,7 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) { editor=p_node; theme_editor = memnew( ThemeEditor ); - theme_editor->set_custom_minimum_size(Size2(0,500)); + theme_editor->set_custom_minimum_size(Size2(0,200)); // p_node->get_viewport()->add_child(theme_editor); button=editor->add_bottom_panel_item("Theme",theme_editor); diff --git a/tools/editor/plugins/theme_editor_plugin.h b/tools/editor/plugins/theme_editor_plugin.h index 49d5ae3096..ea8f8c1d3c 100644 --- a/tools/editor/plugins/theme_editor_plugin.h +++ b/tools/editor/plugins/theme_editor_plugin.h @@ -35,16 +35,19 @@ #include "scene/gui/file_dialog.h" #include "scene/gui/check_box.h" #include "scene/gui/button_group.h" +#include "scene/gui/scroll_container.h" #include "tools/editor/editor_node.h" + class ThemeEditor : public Control { OBJ_TYPE( ThemeEditor, Control ); + ScrollContainer *scroll; VBoxContainer *main_vb; Ref<Theme> theme; @@ -68,7 +71,8 @@ class ThemeEditor : public Control { POPUP_CLASS_ADD, POPUP_REMOVE, POPUP_CLASS_REMOVE, - POPUP_CREATE_TEMPLATE + POPUP_CREATE_EMPTY, + POPUP_CREATE_EDITOR_EMPTY }; int popup_mode; diff --git a/tools/editor/plugins/tile_map_editor_plugin.cpp b/tools/editor/plugins/tile_map_editor_plugin.cpp index 5a40777665..d5f85d3333 100644 --- a/tools/editor/plugins/tile_map_editor_plugin.cpp +++ b/tools/editor/plugins/tile_map_editor_plugin.cpp @@ -893,59 +893,53 @@ bool TileMapEditor::forward_input_event(const InputEvent& p_event) { if (tool!=TOOL_NONE || !mouse_over) return false; - if (k.scancode==KEY_DELETE) { - + if (ED_IS_SHORTCUT("tile_map_editor/erase_selection", p_event)) { _menu_option(OPTION_ERASE_SELECTION); return true; } + if (ED_IS_SHORTCUT("tile_map_editor/select", p_event)) { + tool=TOOL_SELECTING; + selection_active=false; - if (k.mod.command) { - - if (k.scancode==KEY_F) { - - search_box->select_all(); - search_box->grab_focus(); + canvas_item_editor->update(); - return true; - } - if (k.scancode==KEY_B) { + return true; + } + if (ED_IS_SHORTCUT("tile_map_editor/duplicate_selection", p_event)) { + _update_copydata(); - tool=TOOL_SELECTING; - selection_active=false; + if (selection_active) { + tool=TOOL_DUPLICATING; canvas_item_editor->update(); return true; } - if (k.scancode==KEY_D) { - - _update_copydata(); - - if (selection_active) { - tool=TOOL_DUPLICATING; - - canvas_item_editor->update(); - - return true; - } - } - } else { - - if (k.scancode==KEY_A) { - - flip_h=!flip_h; - mirror_x->set_pressed(flip_h); - canvas_item_editor->update(); - return true; - } - if (k.scancode==KEY_S) { + } + if (ED_IS_SHORTCUT("tile_map_editor/find_tile", p_event)) { + search_box->select_all(); + search_box->grab_focus(); - flip_v=!flip_v; - mirror_y->set_pressed(flip_v); - canvas_item_editor->update(); - return true; - } + return true; + } + if (ED_IS_SHORTCUT("tile_map_editor/mirror_x", p_event)) { + flip_h=!flip_h; + mirror_x->set_pressed(flip_h); + canvas_item_editor->update(); + return true; + } + if (ED_IS_SHORTCUT("tile_map_editor/mirror_y", p_event)) { + flip_v=!flip_v; + mirror_y->set_pressed(flip_v); + canvas_item_editor->update(); + return true; + } + if (ED_IS_SHORTCUT("tile_map_editor/transpose", p_event)) { + transpose = !transpose; + transp->set_pressed(transpose); + canvas_item_editor->update(); + return true; } } break; } @@ -1308,6 +1302,12 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) { flip_v=false; transpose=false; + ED_SHORTCUT("tile_map_editor/erase_selection", TTR("Erase selection"), KEY_DELETE); + ED_SHORTCUT("tile_map_editor/find_tile", TTR("Find tile"), KEY_MASK_CMD+KEY_F); + ED_SHORTCUT("tile_map_editor/transpose", TTR("Transpose")); + ED_SHORTCUT("tile_map_editor/mirror_x", TTR("Mirror X"), KEY_A); + ED_SHORTCUT("tile_map_editor/mirror_y", TTR("Mirror Y"), KEY_S); + search_box = memnew( LineEdit ); search_box->set_h_size_flags(SIZE_EXPAND_FILL); search_box->connect("text_entered", this, "_text_entered"); @@ -1349,9 +1349,9 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) { p->add_separator(); p->add_item(TTR("Pick Tile"), OPTION_PICK_TILE, KEY_CONTROL); p->add_separator(); - p->add_item(TTR("Select"), OPTION_SELECT, KEY_MASK_CMD+KEY_B); - p->add_item(TTR("Duplicate Selection"), OPTION_DUPLICATE, KEY_MASK_CMD+KEY_D); - p->add_item(TTR("Erase Selection"), OPTION_ERASE_SELECTION, KEY_DELETE); + p->add_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD+KEY_B), OPTION_SELECT); + p->add_shortcut(ED_SHORTCUT("tile_map_editor/duplicate_selection", TTR("Duplicate Selection"), KEY_MASK_CMD+KEY_D), OPTION_DUPLICATE); + p->add_shortcut(ED_GET_SHORTCUT("tile_map_editor/erase_selection"), OPTION_ERASE_SELECTION); p->connect("item_pressed", this, "_menu_option"); @@ -1361,19 +1361,19 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) { transp = memnew( ToolButton ); transp->set_toggle_mode(true); - transp->set_tooltip(TTR("Transpose")); + transp->set_tooltip(TTR("Transpose") + " ("+ED_GET_SHORTCUT("tile_map_editor/transpose")->get_as_text()+")"); transp->set_focus_mode(FOCUS_NONE); transp->connect("pressed", this, "_update_transform_buttons", make_binds(transp)); toolbar->add_child(transp); mirror_x = memnew( ToolButton ); mirror_x->set_toggle_mode(true); - mirror_x->set_tooltip(TTR("Mirror X (A)")); + mirror_x->set_tooltip(TTR("Mirror X") + " ("+ED_GET_SHORTCUT("tile_map_editor/mirror_x")->get_as_text()+")"); mirror_x->set_focus_mode(FOCUS_NONE); mirror_x->connect("pressed", this, "_update_transform_buttons", make_binds(mirror_x)); toolbar->add_child(mirror_x); mirror_y = memnew( ToolButton ); mirror_y->set_toggle_mode(true); - mirror_y->set_tooltip(TTR("Mirror Y (S)")); + mirror_y->set_tooltip(TTR("Mirror Y") + " ("+ED_GET_SHORTCUT("tile_map_editor/mirror_y")->get_as_text()+")"); mirror_y->set_focus_mode(FOCUS_NONE); mirror_y->connect("pressed", this, "_update_transform_buttons", make_binds(mirror_y)); toolbar->add_child(mirror_y); diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp index 3b02c73189..3f82199fc3 100644 --- a/tools/editor/project_export.cpp +++ b/tools/editor/project_export.cpp @@ -36,7 +36,6 @@ #include "io/resource_saver.h" #include "os/os.h" #include "scene/gui/box_container.h" -#include "default_saver.h" #include "scene/gui/tab_container.h" #include "scene/gui/scroll_container.h" diff --git a/tools/editor/project_manager.cpp b/tools/editor/project_manager.cpp index 419f05f2cf..d8814fd50e 100644 --- a/tools/editor/project_manager.cpp +++ b/tools/editor/project_manager.cpp @@ -45,8 +45,7 @@ #include "scene/gui/margin_container.h" #include "io/resource_saver.h" -#include "editor_icons.h" -#include "editor_fonts.h" +#include "editor_themes.h" #include "editor_scale.h" @@ -846,21 +845,16 @@ ProjectManager::ProjectManager() { set_area_as_parent_rect(); - Ref<Theme> theme = Ref<Theme>( memnew( Theme ) ); - set_theme(theme); - editor_register_icons(theme); - editor_register_fonts(theme); + gui_base = memnew( Control ); + add_child(gui_base); + gui_base->set_area_as_parent_rect(); - String global_font = EditorSettings::get_singleton()->get("global/font"); - if (global_font!="") { - Ref<Font> fnt = ResourceLoader::load(global_font); - if (fnt.is_valid()) { - theme->set_default_theme_font(fnt); - } - } + set_theme(create_default_theme()); + Ref<Theme> theme = create_editor_theme(); + gui_base->set_theme(theme); Panel *panel = memnew( Panel ); - add_child(panel); + gui_base->add_child(panel); panel->set_area_as_parent_rect(); VBoxContainer *vb = memnew( VBoxContainer ); @@ -961,7 +955,7 @@ ProjectManager::ProjectManager() { scan_dir->set_access(FileDialog::ACCESS_FILESYSTEM); scan_dir->set_mode(FileDialog::MODE_OPEN_DIR); scan_dir->set_current_dir( EditorSettings::get_singleton()->get("global/default_project_path") ); - add_child(scan_dir); + gui_base->add_child(scan_dir); scan_dir->connect("dir_selected",this,"_scan_begin"); @@ -1010,26 +1004,26 @@ ProjectManager::ProjectManager() { erase_ask->get_ok()->set_text(TTR("Remove")); erase_ask->get_ok()->connect("pressed", this,"_erase_project_confirm"); - add_child(erase_ask); + gui_base->add_child(erase_ask); multi_open_ask = memnew( ConfirmationDialog ); multi_open_ask->get_ok()->set_text(TTR("Edit")); multi_open_ask->get_ok()->connect("pressed", this, "_open_project_confirm"); - add_child(multi_open_ask); + gui_base->add_child(multi_open_ask); multi_run_ask = memnew( ConfirmationDialog ); multi_run_ask->get_ok()->set_text(TTR("Run")); multi_run_ask->get_ok()->connect("pressed", this, "_run_project_confirm"); - add_child(multi_run_ask); + gui_base->add_child(multi_run_ask); OS::get_singleton()->set_low_processor_usage_mode(true); npdialog = memnew( NewProjectDialog ); - add_child(npdialog); + gui_base->add_child(npdialog); npdialog->connect("project_created", this,"_load_recent_projects"); _load_recent_projects(); diff --git a/tools/editor/project_manager.h b/tools/editor/project_manager.h index cfedfd7a69..2db1bb839e 100644 --- a/tools/editor/project_manager.h +++ b/tools/editor/project_manager.h @@ -67,6 +67,8 @@ class ProjectManager : public Control { TabContainer *tabs; + Control *gui_base; + void _item_doubleclicked(); diff --git a/tools/editor/project_settings.h b/tools/editor/project_settings.h index 5108378ff7..79e1acf75e 100644 --- a/tools/editor/project_settings.h +++ b/tools/editor/project_settings.h @@ -31,7 +31,6 @@ #include "scene/gui/dialogs.h" #include "property_editor.h" -#include "optimized_save_dialog.h" #include "undo_redo.h" #include "editor_data.h" #include "scene/gui/tab_container.h" diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp index 763734f035..246785932d 100644 --- a/tools/editor/property_editor.cpp +++ b/tools/editor/property_editor.cpp @@ -2142,6 +2142,7 @@ void PropertyEditor::set_item_text(TreeItem *p_item, int p_type, const String& p if (obj->get( p_name ).get_type() == Variant::NIL || obj->get( p_name ).operator RefPtr().is_null()) { p_item->set_text(1,"<null>"); + p_item->set_icon(1,Ref<Texture>()); Dictionary d = p_item->get_metadata(0); int hint=d.has("hint")?d["hint"].operator int():-1; @@ -3349,6 +3350,7 @@ void PropertyEditor::update_tree() { if (obj->get( p.name ).get_type() == Variant::NIL || obj->get( p.name ).operator RefPtr().is_null()) { item->set_text(1,"<null>"); + item->set_icon(1,Ref<Texture>()); } else { RES res = obj->get( p.name ).operator RefPtr(); @@ -3934,6 +3936,7 @@ void PropertyEditor::_bind_methods() { ObjectTypeDB::bind_method( "_filter_changed",&PropertyEditor::_filter_changed); ObjectTypeDB::bind_method( "update_tree",&PropertyEditor::update_tree); ObjectTypeDB::bind_method( "_resource_preview_done",&PropertyEditor::_resource_preview_done); + ObjectTypeDB::bind_method( "refresh",&PropertyEditor::refresh); ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &PropertyEditor::get_drag_data_fw); ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &PropertyEditor::can_drop_data_fw); diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp index 5124505b90..30ffdf6664 100644 --- a/tools/editor/scene_tree_dock.cpp +++ b/tools/editor/scene_tree_dock.cpp @@ -49,11 +49,37 @@ void SceneTreeDock::_unhandled_key_input(InputEvent p_event) { if (!p_event.key.pressed || p_event.key.echo) return; + if (ED_IS_SHORTCUT("scene_tree/add_child_node", p_event)) { + _tool_selected(TOOL_NEW); + } + else if (ED_IS_SHORTCUT("scene_tree/instance_scene", p_event)) { + _tool_selected(TOOL_INSTANCE); + } + else if (ED_IS_SHORTCUT("scene_tree/change_node_type", p_event)) { + _tool_selected(TOOL_REPLACE); + } + else if (ED_IS_SHORTCUT("scene_tree/duplicate", p_event)) { + _tool_selected(TOOL_DUPLICATE); + } + else if (ED_IS_SHORTCUT("scene_tree/add_script", p_event)) { + _tool_selected(TOOL_SCRIPT); + } + else if (ED_IS_SHORTCUT("scene_tree/move_up", p_event)) { + _tool_selected(TOOL_MOVE_UP); + } + else if (ED_IS_SHORTCUT("scene_tree/move_down", p_event)) { + _tool_selected(TOOL_MOVE_DOWN); + } + else if (ED_IS_SHORTCUT("scene_tree/reparent", p_event)) { + _tool_selected(TOOL_REPARENT); + } + else if (ED_IS_SHORTCUT("scene_tree/merge_from_scene", p_event)) { + _tool_selected(TOOL_MERGE_FROM_SCENE); + } + else if (ED_IS_SHORTCUT("scene_tree/save_branch_as_scene", p_event)) { + _tool_selected(TOOL_NEW_SCENE_FROM); + } switch(sc) { - case KEY_MASK_CMD|KEY_A: { _tool_selected(TOOL_NEW); } break; - case KEY_MASK_CMD|KEY_D: { _tool_selected(TOOL_DUPLICATE); } break; - case KEY_MASK_CMD|KEY_UP: { _tool_selected(TOOL_MOVE_UP); } break; - case KEY_MASK_CMD|KEY_DOWN: { _tool_selected(TOOL_MOVE_DOWN); } break; case KEY_MASK_SHIFT|KEY_DELETE: { _tool_selected(TOOL_ERASE, true); } break; case KEY_DELETE: { _tool_selected(TOOL_ERASE); } break; } @@ -1362,6 +1388,13 @@ void SceneTreeDock::_create() { } String newname=n->get_name(); + + List<Node*> to_erase; + for(int i=0;i<n->get_child_count();i++) { + if (n->get_child(i)->get_owner()==NULL && n->is_owned_by_parent()) { + to_erase.push_back(n->get_child(i)); + } + } n->replace_by(newnode,true); if (n==edited_scene) { @@ -1382,6 +1415,11 @@ void SceneTreeDock::_create() { memdelete(n); + while(to_erase.front()) { + memdelete(to_erase.front()->get()); + to_erase.pop_front(); + } + } @@ -1512,12 +1550,18 @@ static bool _has_visible_children(Node* p_node) { } + static Node* _find_last_visible(Node*p_node) { Node*last=NULL; - for(int i=0;i<p_node->get_child_count();i++) { - if (_is_node_visible(p_node->get_child(i))) { - last=p_node->get_child(i); + + bool collapsed = p_node->has_meta("_editor_collapsed") ? (bool)p_node->get_meta("_editor_collapsed") : false; + + if (!collapsed) { + for(int i=0;i<p_node->get_child_count();i++) { + if (_is_node_visible(p_node->get_child(i))) { + last=p_node->get_child(i); + } } } @@ -1588,18 +1632,27 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos,int p_type) { Node* lower_sibling=NULL; - for(int i=to_node->get_index()+1;i<to_node->get_parent()->get_child_count();i++) { - Node *c =to_node->get_parent()->get_child(i); - if (_is_node_visible(c)) { - lower_sibling=c; + + + if (_has_visible_children(to_node) ) { + to_pos=0; + } else { + + + for(int i=to_node->get_index()+1;i<to_node->get_parent()->get_child_count();i++) { + Node *c =to_node->get_parent()->get_child(i); + if (_is_node_visible(c)) { + lower_sibling=c; + break; + } + } + + if (lower_sibling) { + to_pos=lower_sibling->get_index(); } - } - if (lower_sibling) { - to_pos=lower_sibling->get_index(); + to_node=to_node->get_parent(); } - - to_node=to_node->get_parent(); #if 0 //quite complicated, look for next visible in tree upper_sibling=_find_last_visible(upper_sibling); @@ -1660,13 +1713,11 @@ void SceneTreeDock::_nodes_dragged(Array p_nodes,NodePath p_to,int p_type) { } void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) { - - if (!EditorNode::get_singleton()->get_edited_scene()) { menu->clear(); - menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("New Scene Root"),TOOL_NEW,KEY_MASK_CMD|KEY_A); - menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Inherit Scene"),TOOL_INSTANCE); + menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW); + menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE); menu->set_size(Size2(1,1)); menu->set_pos(p_menu_pos); @@ -1683,31 +1734,31 @@ void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) { if (selection.size()==1) { - menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("Add Child Node"),TOOL_NEW,KEY_MASK_CMD|KEY_A); - menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Instance Child Scene"),TOOL_INSTANCE); + menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW); + menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE); menu->add_separator(); - menu->add_icon_item(get_icon("Reload","EditorIcons"),TTR("Change Type"),TOOL_REPLACE); + menu->add_icon_shortcut(get_icon("Reload","EditorIcons"),ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE); //menu->add_separator(); moved to their own dock //menu->add_icon_item(get_icon("Groups","EditorIcons"),TTR("Edit Groups"),TOOL_GROUP); //menu->add_icon_item(get_icon("Connect","EditorIcons"),TTR("Edit Connections"),TOOL_CONNECT); menu->add_separator(); - menu->add_icon_item(get_icon("Script","EditorIcons"),TTR("Add Script"),TOOL_SCRIPT); + menu->add_icon_shortcut(get_icon("Script","EditorIcons"),ED_GET_SHORTCUT("scene_tree/add_script"), TOOL_SCRIPT); menu->add_separator(); } - menu->add_icon_item(get_icon("Up","EditorIcons"),TTR("Move Up"),TOOL_MOVE_UP,KEY_MASK_CMD|KEY_UP); - menu->add_icon_item(get_icon("Down","EditorIcons"),TTR("Move Down"),TOOL_MOVE_DOWN,KEY_MASK_CMD|KEY_DOWN); - menu->add_icon_item(get_icon("Duplicate","EditorIcons"),TTR("Duplicate"),TOOL_DUPLICATE,KEY_MASK_CMD|KEY_D); - menu->add_icon_item(get_icon("Reparent","EditorIcons"),TTR("Reparent"),TOOL_REPARENT); + menu->add_icon_shortcut(get_icon("Up","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_up"), TOOL_MOVE_UP); + menu->add_icon_shortcut(get_icon("Down","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_down"), TOOL_MOVE_DOWN); + menu->add_icon_shortcut(get_icon("Duplicate","EditorIcons"),ED_GET_SHORTCUT("scene_tree/duplicate"), TOOL_DUPLICATE); + menu->add_icon_shortcut(get_icon("Reparent","EditorIcons"),ED_GET_SHORTCUT("scene_tree/reparent"), TOOL_REPARENT); if (selection.size()==1) { menu->add_separator(); - menu->add_icon_item(get_icon("Blend","EditorIcons"),TTR("Merge From Scene"),TOOL_MERGE_FROM_SCENE); - menu->add_icon_item(get_icon("Save","EditorIcons"),TTR("Save Branch as Scene"),TOOL_NEW_SCENE_FROM); + menu->add_icon_shortcut(get_icon("Blend","EditorIcons"),ED_GET_SHORTCUT("scene_tree/merge_from_scene"), TOOL_MERGE_FROM_SCENE); + menu->add_icon_shortcut(get_icon("Save","EditorIcons"),ED_GET_SHORTCUT("scene_tree/save_branch_as_scene"), TOOL_NEW_SCENE_FROM); } menu->add_separator(); - menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"),TOOL_ERASE,KEY_DELETE); + menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"), TOOL_ERASE, KEY_DELETE); menu->set_size(Size2(1,1)); menu->set_pos(p_menu_pos); @@ -1774,15 +1825,28 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor,Node *p_scene_root,EditorSelec HBoxContainer *filter_hbc = memnew( HBoxContainer ); ToolButton *tb; + ED_SHORTCUT("scene_tree/add_child_node",TTR("Add Child Node"), KEY_MASK_CMD|KEY_A); + ED_SHORTCUT("scene_tree/instance_scene",TTR("Instance Child Scene")); + ED_SHORTCUT("scene_tree/change_node_type", TTR("Change Type")); + ED_SHORTCUT("scene_tree/add_script", TTR("Add Script")); + ED_SHORTCUT("scene_tree/move_up", TTR("Move Up"), KEY_MASK_CMD | KEY_UP); + ED_SHORTCUT("scene_tree/move_down", TTR("Move Down"), KEY_MASK_CMD | KEY_DOWN); + ED_SHORTCUT("scene_tree/duplicate", TTR("Duplicate"),KEY_MASK_CMD | KEY_D); + ED_SHORTCUT("scene_tree/reparent", TTR("Reparent")); + ED_SHORTCUT("scene_tree/merge_from_scene", TTR("Merge From Scene")); + ED_SHORTCUT("scene_tree/save_branch_as_scene", TTR("Save Branch as Scene")); + tb = memnew( ToolButton ); tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_NEW, false)); - tb->set_tooltip(TTR("Add/Create a New Node")+"\n("+keycode_get_string(KEY_MASK_CMD|KEY_A)+")"); + tb->set_tooltip(TTR("Add/Create a New Node")); + tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/add_child_node")); filter_hbc->add_child(tb); button_add=tb; tb = memnew( ToolButton ); tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_INSTANCE, false)); tb->set_tooltip(TTR("Instance a scene file as a Node. Creates an inherited scene if no root node exists.")); + tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/instance_scene")); filter_hbc->add_child(tb); button_instance=tb; diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp index 2de6fc5cf2..a155f0c0cf 100644 --- a/tools/editor/scene_tree_editor.cpp +++ b/tools/editor/scene_tree_editor.cpp @@ -653,6 +653,8 @@ void SceneTreeEditor::_notification(int p_what) { inheritance_menu->set_item_icon(2,get_icon("Load","EditorIcons")); clear_inherit_confirm->connect("confirmed",this,"_subscene_option",varray(SCENE_MENU_CLEAR_INHERITANCE_CONFIRM)); + EditorSettings::get_singleton()->connect("settings_changed",this,"_editor_settings_changed"); + // get_scene()->connect("tree_changed",this,"_tree_changed",Vector<Variant>(),CONNECT_DEFERRED); // get_scene()->connect("node_removed",this,"_node_removed",Vector<Variant>(),CONNECT_DEFERRED); @@ -665,6 +667,7 @@ void SceneTreeEditor::_notification(int p_what) { tree->disconnect("item_collapsed",this,"_cell_collapsed"); clear_inherit_confirm->disconnect("confirmed",this,"_subscene_option"); get_tree()->disconnect("node_configuration_warning_changed",this,"_warning_changed"); + EditorSettings::get_singleton()->disconnect("settings_changed",this,"_editor_settings_changed"); } } @@ -1048,6 +1051,21 @@ void SceneTreeEditor::_warning_changed(Node* p_for_node) { } + +void SceneTreeEditor::_editor_settings_changed() { + bool enable_rl = EditorSettings::get_singleton()->get("scenetree_editor/draw_relationship_lines"); + Color rl_color = EditorSettings::get_singleton()->get("scenetree_editor/relationship_line_color"); + + if (enable_rl) { + tree->add_constant_override("draw_relationship_lines",1); + tree->add_color_override("relationship_line_color", rl_color); + } + else + tree->add_constant_override("draw_relationship_lines",0); + +} + + void SceneTreeEditor::_bind_methods() { ObjectTypeDB::bind_method("_tree_changed",&SceneTreeEditor::_tree_changed); @@ -1068,6 +1086,8 @@ void SceneTreeEditor::_bind_methods() { ObjectTypeDB::bind_method("_node_script_changed",&SceneTreeEditor::_node_script_changed); ObjectTypeDB::bind_method("_node_visibility_changed",&SceneTreeEditor::_node_visibility_changed); + ObjectTypeDB::bind_method("_editor_settings_changed", &SceneTreeEditor::_editor_settings_changed); + ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &SceneTreeEditor::get_drag_data_fw); ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &SceneTreeEditor::can_drop_data_fw); ObjectTypeDB::bind_method(_MD("drop_data_fw"), &SceneTreeEditor::drop_data_fw); @@ -1252,4 +1272,3 @@ SceneTreeDialog::SceneTreeDialog() { SceneTreeDialog::~SceneTreeDialog() { } - diff --git a/tools/editor/scene_tree_editor.h b/tools/editor/scene_tree_editor.h index e184891200..79b7a64468 100644 --- a/tools/editor/scene_tree_editor.h +++ b/tools/editor/scene_tree_editor.h @@ -34,6 +34,7 @@ #include "scene/gui/dialogs.h" #include "undo_redo.h" #include "editor_data.h" +#include "editor_settings.h" /** @author Juan Linietsky <reduzio@gmail.com> */ @@ -132,6 +133,8 @@ class SceneTreeEditor : public Control { void _warning_changed(Node* p_for_node); + void _editor_settings_changed(); + Timer* update_timer; public: diff --git a/tools/editor/scenes.cpp b/tools/editor/scenes.cpp deleted file mode 100644 index e6569c98a9..0000000000 --- a/tools/editor/scenes.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/*************************************************************************/ -/* scenes.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#include "scenes.h" - -Scenes::Scenes() -{ -} diff --git a/tools/editor/scenes.h b/tools/editor/scenes.h deleted file mode 100644 index bae9ef65f0..0000000000 --- a/tools/editor/scenes.h +++ /dev/null @@ -1,37 +0,0 @@ -/*************************************************************************/ -/* scenes.h */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* http://www.godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ -#ifndef SCENES_H -#define SCENES_H - -class Scenes{ -public: - Scenes(); -}; - -#endif // SCENES_H diff --git a/tools/editor/script_create_dialog.cpp b/tools/editor/script_create_dialog.cpp index e88d603b30..e93a40efbc 100644 --- a/tools/editor/script_create_dialog.cpp +++ b/tools/editor/script_create_dialog.cpp @@ -185,6 +185,7 @@ void ScriptCreateDialog::_built_in_pressed() { void ScriptCreateDialog::_browse_path() { file_browse->set_mode(EditorFileDialog::MODE_SAVE_FILE); + file_browse->set_disable_overwrite_warning(true); file_browse->clear_filters(); List<String> extensions; diff --git a/tools/pck/pck_packer.cpp b/tools/pck/pck_packer.cpp index 228d37df7c..04b88ea028 100644 --- a/tools/pck/pck_packer.cpp +++ b/tools/pck/pck_packer.cpp @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* pkc_packer.cpp */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "pck_packer.h" #include "core/os/file_access.h" diff --git a/tools/pck/pck_packer.h b/tools/pck/pck_packer.h index 2bb51128e9..b1182335e2 100644 --- a/tools/pck/pck_packer.h +++ b/tools/pck/pck_packer.h @@ -1,3 +1,31 @@ +/*************************************************************************/ +/* pck_packer.h */ +/*************************************************************************/ +/* This file is part of: */ +/* GODOT ENGINE */ +/* http://www.godotengine.org */ +/*************************************************************************/ +/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* */ +/* Permission is hereby granted, free of charge, to any person obtaining */ +/* a copy of this software and associated documentation files (the */ +/* "Software"), to deal in the Software without restriction, including */ +/* without limitation the rights to use, copy, modify, merge, publish, */ +/* distribute, sublicense, and/or sell copies of the Software, and to */ +/* permit persons to whom the Software is furnished to do so, subject to */ +/* the following conditions: */ +/* */ +/* The above copyright notice and this permission notice shall be */ +/* included in all copies or substantial portions of the Software. */ +/* */ +/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ +/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ +/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ +/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ +/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ +/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/*************************************************************************/ #include "core/reference.h" class FileAccess; diff --git a/tools/translations/Makefile b/tools/translations/Makefile index 8f336694e8..bea20e877d 100644 --- a/tools/translations/Makefile +++ b/tools/translations/Makefile @@ -12,7 +12,7 @@ update: merge: @for po in $(POFILES); do \ echo -e "\nMerging $$po..."; \ - msgmerge -w 80 -C $$po $$po $(TEMPLATE) > "$$po".new; \ + msgmerge -w 79 -C $$po $$po $(TEMPLATE) > "$$po".new; \ mv -f "$$po".new $$po; \ done diff --git a/tools/translations/ar.po b/tools/translations/ar.po new file mode 100644 index 0000000000..772404006a --- /dev/null +++ b/tools/translations/ar.po @@ -0,0 +1,6102 @@ +# Arabic translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# Mohammmad Khashashneh <mohammad.rasmi@gmail.com>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-06-19 08:49+0000\n" +"Last-Translator: Mohammmad Khashashneh <mohammad.rasmi@gmail.com>\n" +"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/" +"godot/ar/>\n" +"Language: ar\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" +"ليتم إظهار الأطر (اللقطات) ÙÙŠ الAnimatedSprite (النقوش Ø§Ù„Ù…ØªØØ±ÙƒØ©), يجب تكوين " +"مصدر لها من نوع SpriteFrames Ùˆ ضبط خاصية الFrames (الأطر) بها. " + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/import_settings.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Conect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp +#: tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined.\n" +"Select one from \"Project Settings\" under the 'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Open Project Manager? \n" +"(Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s) or folder(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +#: tools/editor/import_settings.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/import_settings.cpp +msgid "Imported Resources" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Name" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Custom Root Node Type:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Auto" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "The Following Files are Missing:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys (Ins)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top (Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom (Shift+Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left (Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right (Shift+Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front (Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear (Shift+Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Selection (F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view (Ctrl+Shift+F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default sRGB" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Scale Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "" +"No texture in this node.\n" +"Set a texture to be able to edit region." +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Key " +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Axis" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Inherit Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Inspector" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Scene Tree:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Object Properties: " +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" diff --git a/tools/translations/cs.po b/tools/translations/cs.po new file mode 100644 index 0000000000..8a1e596942 --- /dev/null +++ b/tools/translations/cs.po @@ -0,0 +1,6093 @@ +# Czech translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"Language: cs\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/import_settings.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Conect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp +#: tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined.\n" +"Select one from \"Project Settings\" under the 'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Open Project Manager? \n" +"(Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s) or folder(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +#: tools/editor/import_settings.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/import_settings.cpp +msgid "Imported Resources" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Name" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Custom Root Node Type:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Auto" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "The Following Files are Missing:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys (Ins)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top (Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom (Shift+Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left (Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right (Shift+Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front (Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear (Shift+Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Selection (F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view (Ctrl+Shift+F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default sRGB" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Scale Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "" +"No texture in this node.\n" +"Set a texture to be able to edit region." +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Key " +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Axis" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Inherit Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Inspector" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Scene Tree:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Object Properties: " +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" diff --git a/tools/translations/de.po b/tools/translations/de.po index 2005670fda..b9c1c070d8 100644 --- a/tools/translations/de.po +++ b/tools/translations/de.po @@ -1,33 +1,91 @@ -# LANGUAGE translation of the Godot Engine editor +# German translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Andreas Esau <andreasesau@gmail.com>, 2016. +# Andreas Haas <liu.gam3@gmail.com>, 2016. +# Andreas Hirschauer <andreas@hirschauer-it.de>, 2016. +# Christian Fisch <christian.fiesel@gmail.com>, 2016. +# danjo <atze@libra.uberspace.de>, 2016. +# hyperglow <greensoma@web.de>, 2016. +# Oliver Ruehl <oliver@ruehldesign.co>, 2016. +# Paul-Vincent Roll <paviro@me.com>, 2016. +# Peter Friedland <peter_friedland@gmx.de>, 2016. +# Timo Schwarzer <account@timoschwarzer.com>, 2016. +# viernullvier <hannes.breul+github@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Sebastian Thewes <minzky@minzky.com>\n" -"Language-Team: \n" +"PO-Revision-Date: 2016-06-14 12:29+0000\n" +"Last-Translator: Timo Schwarzer <account@timoschwarzer.com>\n" +"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/" +"godot/de/>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.4\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +#, fuzzy +msgid "Not based on a resource file" +msgstr "Keine Ziel Font Ressource!" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" +"Eine SpriteFrames Ressource muss in der 'Frames' Variable erstellt oder " +"gesetzt werden, damit AnimatedSprite Einzelbilder darstellen kann." #: scene/2d/canvas_modulate.cpp msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" +"Nur ein sichtbares CanvasModulate ist pro Szene (oder ein Satz von " +"instanzierten Szenen) erlaubt. Das zuerst erstellte wird funktionieren, " +"während der Rest ignoriert wird." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -35,10 +93,14 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionPolygon2D dient nur dazu, einem CollisionObject2D abgeleiteten " +"Knoten eine Form bereitzustellen. Bitte verwenden Sie es nur als Unterobjekt " +"von Area2D, StaticBody2D, RigidBody2D, KinematicBody2D usw. um ihnen eine " +"Form zu geben." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." -msgstr "" +msgstr "Ein leeres CollisionPolygon2D hat keinen Effekt auf Kollisionen." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -46,100 +108,110 @@ msgid "" "CollisionObject2D derived node. Please only use it as a child of Area2D, " "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" +"CollisionShape2D definiert eine Kollisionsmaske für von CollisionObject2D " +"abgeleitete Nodes. Benutze es mit Area2D, StaticBody2D, RigidBody2D, " +"KinematicBody2D usw. um eine Form zu definieren." #: scene/2d/collision_shape_2d.cpp msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" -"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine shape Ressource dafür." +"Damit CollisionShape2D funktionieren kann, muss eine Form angegeben werden. " +"Bitte erzeuge eine Shape-Ressource dafür!" #: scene/2d/light_2d.cpp msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." msgstr "" +"Eine Textur mit der Form des Lichtkegels muss in der Eigenschaft 'texture' " +"angegeben werden." #: scene/2d/light_occluder_2d.cpp msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" -"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine shape Ressource dafür." +"Ein Occluder Polygon muss gesetzt oder gezeichnet werden, damit dieser " +"Occluder funktioniert." #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" msgstr "" -"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine shape Ressource dafür." +"Das Occluder Polygon für diesen Occlluder ist leer. Bitte zeichne ein " +"Polygon!" #: scene/2d/navigation_polygon.cpp msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" -"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine shape Ressource dafür." +"Eine NavigationPolygon Ressource muss für diesen Node gesetzt oder erstellt " +"werden, damit er funktioniert. Bitte setze eine Variable oder zeichne ein " +"Polygon." #: scene/2d/navigation_polygon.cpp msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" -"NavigationPolygonInstance muss ein Unterobjekt oder Unterunterobjekt einer " -"Navigation2D Node sein. Es liefert nur Navigations Daten." +"NavigationPolygonInstance muss ein Unterobjekt erster oder zweiter Ordnung " +"unterhalb einer Navigation2D Node sein. Es liefert nur Navigationsdaten." #: scene/2d/parallax_layer.cpp msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" -"Die ParallaxLayer Node funktioniert nur als Kind von einer ParallaxBackground " -"Node." +"Die ParallaxLayer Node funktioniert nur als Unterobjekt einer " +"ParallaxBackground Node." #: scene/2d/particles_2d.cpp msgid "Path property must point to a valid Particles2D node to work." -msgstr "Pfad Eigenschaft muss auf eine gültige Particles2D Node verweisen." +msgstr "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen." #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" +"PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D Nodes " +"gesetzt wird." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." msgstr "" +"Die Pfad-Variable muss auf einen gültigen Node2D Node zeigen um zu " +"funktionieren." #: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SamplePlayer to play sound." msgstr "" -"Eine SampleLibrary Ressource muss in der 'samples' Eigenschaft erzeugt oder " -"definiert werden damit SpatialSamplePlayer einen Sound abspielen kann." +"Eine SampleLibrary Ressource muss in der 'samples' Variable erzeugt oder " +"definiert werden, damit SpatialSamplePlayer einen Sound abspielen kann." #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "Die Pfad Eigenschaft muss auf eine gültige Viewport Node verweisen um zu " "funktionieren. Dieser Viewport muss in 'render target' Modus gesetzt werden." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" -"Der Viewport der in der Pfad Eigenschaft gesetzt wurde, muss als 'render " -"target' definiert werden damit das Sprite funktioniert." +"Der Viewport der in der Pfad-Variable gesetzt wurde, muss als 'render " +"target' definiert werden, damit das Sprite funktioniert." #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D funktioniert am besten wenn es ein Unterobjekt der " -"bearbeiteten Hauptszene ist." +"VisibilityEnable2D funktioniert am besten, wenn es ein Unterobjekt erster " +"Ordnung der bearbeiteten Hauptszene ist." #: scene/3d/body_shape.cpp msgid "" @@ -148,17 +220,17 @@ msgid "" "KinematicBody, etc. to give them a shape." msgstr "" "CollisionShape dient nur dazu einer dem CollisionObject abgeleiteten Node " -"eine Kollisionsform bereit zu stellen. Bitte nutze es nur als eine " -"Unterobjekt von Area, StaticBody, RigidBody, KinematicBody, usw. um diesen " -"eine Form zu geben." +"eine Kollisionsform bereitzustellen. Bitte nutze es nur als ein Unterobjekt " +"von Area, StaticBody, RigidBody, KinematicBody usw. um diesem eine Form zu " +"geben." #: scene/3d/body_shape.cpp msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" -"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. " -"Bitte erzeuge eine shape Ressource dafür." +"Damit CollisionShape funktionieren kann, muss eine Form vorhanden sein. " +"Bitte erzeuge eine shape Ressource dafür!" #: scene/3d/collision_polygon.cpp msgid "" @@ -166,27 +238,28 @@ msgid "" "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" -"CollisionPolygon liefert nur eine Kollisionsform für eine vom CollisionObject " -"abgeleitete Node. Bitte nutze es nur als eine Unterobjekt von Area, " -"StaticBody, RigidBody, KinematicBody, usw. um diesen eine Form zu geben." +"CollisionPolygon liefert nur eine Kollisionsform für eine vom " +"CollisionObject abgeleiteten Node. Bitte nutze es nur als eine Unterobjekt " +"von Area, StaticBody, RigidBody, KinematicBody, usw. um diesen eine Form zu " +"geben." #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." -msgstr "" +msgstr "Ein leeres CollisionPolygon hat keinen Effekt auf die Kollision." #: scene/3d/navigation_mesh.cpp msgid "A NavigationMesh resource must be set or created for this node to work." msgstr "" -"Damit diese Node funktionieren kann, muss eine NavigationMesh Ressource " -"erzeugt oder definiert werden." +"Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource " +"erzeugt oder gesetzt werden." #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" -"NavigationMeshinstance muss ein Unterobjekt oder Unterunterobjekt von einer " -"Navigations Node sein. Es liefert nur navigationsdaten." +"NavigationMeshinstance muss ein Unterobjekt oder Unterunterobjekt von einem " +"Navigations Node sein. Es liefert nur Navigationsdaten." #: scene/3d/scenario_fx.cpp msgid "" @@ -203,13 +276,12 @@ msgstr "" "definiert werden damit SpatialSamplePlayer einen Sound abspielen kann." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"Eine SampleLibrary Ressource muss in der 'samples' Eigenschaft erzeugt oder " -"definiert werden damit SpatialSamplePlayer einen Sound abspielen kann." +"Eine SpriteFrames Ressource muss in der Eigenschaft 'Frames' erzeugt oder " +"definiert werden, damit AnimatedSprite3D Frames anzeigen kann." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -221,7 +293,7 @@ msgstr "OK" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Warnung!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." @@ -229,15 +301,15 @@ msgstr "Bitte bestätigen..." #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "File Exists, Overwrite?" -msgstr "" +msgstr "Datei existiert bereits. Überschreiben?" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Recognized" -msgstr "" +msgstr "Alle bekannten Dateien" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Files (*)" -msgstr "" +msgstr "Alle Dateien (*)" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_help.cpp tools/editor/editor_node.cpp @@ -248,21 +320,19 @@ msgstr "Öffnen" #: scene/gui/file_dialog.cpp msgid "Open a File" -msgstr "" +msgstr "Datei öffnen" #: scene/gui/file_dialog.cpp msgid "Open File(s)" -msgstr "" +msgstr "Datei(en) öffnen" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Wähle ein Verzeichnis" +msgstr "Verzeichnis wählen" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Wähle ein Verzeichnis" +msgstr "Datei oder Verzeichnis öffnen" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -273,7 +343,7 @@ msgstr "Speichern" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Save a File" -msgstr "" +msgstr "Datei speichern" #: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp #: tools/editor/editor_file_dialog.cpp @@ -288,7 +358,7 @@ msgstr "Pfad:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Directories & Files:" -msgstr "" +msgstr "Verzeichnisse & Dateien:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/script_editor_debugger.cpp @@ -312,26 +382,26 @@ msgstr "Ordner konnte nicht erstellt werden." #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Must use a valid extension." -msgstr "" +msgstr "Eine gültige Datei-Endung muss verwendet werden." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp msgid "Shift+" -msgstr "" +msgstr "Shift+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp msgid "Alt+" -msgstr "" +msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp msgid "Meta+" -msgstr "" +msgstr "Meta+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Device" @@ -347,7 +417,7 @@ msgstr "Linke Taste." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Right Button." -msgstr "Rechte Taste." +msgstr "Rechte Schaltfläche." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Middle Button." @@ -355,15 +425,15 @@ msgstr "Mittlere Taste." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Wheel Up." -msgstr "" +msgstr "Mausrad hoch." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Wheel Down." -msgstr "" +msgstr "Mausrad runter." #: scene/gui/input_action.cpp tools/editor/project_settings.cpp msgid "Axis" -msgstr "" +msgstr "Achse" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp @@ -389,7 +459,8 @@ msgstr "Einfügen" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Alles auswählen" @@ -398,7 +469,7 @@ msgstr "Alles auswählen" #: tools/editor/plugins/rich_text_editor_plugin.cpp #: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp msgid "Clear" -msgstr "" +msgstr "Löschen" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp #: tools/editor/plugins/script_editor_plugin.cpp @@ -409,9 +480,13 @@ msgstr "Rückgängig machen" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" +"Popups werden standardmäßig versteckt, es sei denn Sie rufen popup() oder " +"irgendeine der popup*() Funktionen auf. Sie für die Bearbeitung sichtbar zu " +"machen ist in Ordnung, aber sie werden zur Laufzeit automatisch wieder " +"versteckt." #: scene/main/viewport.cpp msgid "" @@ -420,11 +495,16 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"Dieser Viewport ist nicht als Render-Target gesetzt. Wenn Sie vor haben " +"seinen Inhalt direkt auf dem Bildschirm anzuzeigen, machen Sie es zu einem " +"Kind eines Control-Nodes, damit es eine Größe erben kann. Ansonsten setzen " +"Sie es als Render-Target und weisen Sie der internen Textur einen Knoten zum " +"Anzeigen zu." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error initializing FreeType." -msgstr "" +msgstr "Fehler beim initialisieren von FreeType." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -451,92 +531,106 @@ msgstr "Alle auswählen" #: tools/editor/animation_editor.cpp msgid "Move Add Key" -msgstr "" +msgstr "Schlüsselbild bewegen hinzufügen" #: tools/editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "" +msgstr "Übergang beim Animationswechsel" #: tools/editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "" +msgstr "Anim ändere Transformation" #: tools/editor/animation_editor.cpp msgid "Anim Change Value" -msgstr "" +msgstr "Anim Wert ändern" #: tools/editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "" +msgstr "Animation Änderungsaufruf" #: tools/editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "" +msgstr "Anim Spur hinzufügen" #: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "" +msgstr "Anim Spur nach oben verschieben" #: tools/editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "" +msgstr "Anim Spur nach unten verschieben" #: tools/editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "" +msgstr "Anim Spur entfernen" #: tools/editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "" +msgstr "Anim doppelte Schlüsselbilder" #: tools/editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "" +msgstr "Setze Übergänge auf:" #: tools/editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "" +msgstr "Anim Spur umbenennen" #: tools/editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "" +msgstr "Anim Spur Interpolation ändern" #: tools/editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "" +msgstr "Anim Spur ändere Wert Modus" #: tools/editor/animation_editor.cpp msgid "Edit Node Curve" -msgstr "" +msgstr "Node Kurve editieren" #: tools/editor/animation_editor.cpp msgid "Edit Selection Curve" -msgstr "" +msgstr "Selektions-Kurve editieren" #: tools/editor/animation_editor.cpp msgid "Anim Delete Keys" +msgstr "Anim Schlüsselbilder löschen" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Continuous" +msgstr "Fortfahren" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Discrete" +msgstr "Trennen" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" msgstr "" #: tools/editor/animation_editor.cpp msgid "Anim Add Key" -msgstr "" +msgstr "Anim Schlüsselszene hinzufügen" #: tools/editor/animation_editor.cpp msgid "Anim Move Keys" -msgstr "" +msgstr "Animation Bewegungstasten" #: tools/editor/animation_editor.cpp msgid "Scale Selection" -msgstr "" +msgstr "Skalierung Auswahl" #: tools/editor/animation_editor.cpp msgid "Scale From Cursor" -msgstr "" +msgstr "Skalierung vom Cursor" #: tools/editor/animation_editor.cpp #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "" +msgstr "Auswahl duplizieren" #: tools/editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -557,23 +651,23 @@ msgstr "Linear" #: tools/editor/animation_editor.cpp #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Constant" -msgstr "" +msgstr "Konstante" #: tools/editor/animation_editor.cpp msgid "In" -msgstr "" +msgstr "Rein" #: tools/editor/animation_editor.cpp msgid "Out" -msgstr "" +msgstr "Raus" #: tools/editor/animation_editor.cpp msgid "In-Out" -msgstr "" +msgstr "Rein-Raus" #: tools/editor/animation_editor.cpp msgid "Out-In" -msgstr "" +msgstr "Raus-Rein" #: tools/editor/animation_editor.cpp msgid "Transitions" @@ -585,15 +679,15 @@ msgstr "Animation optimieren" #: tools/editor/animation_editor.cpp msgid "Clean-Up Animation" -msgstr "" +msgstr "Animation aufräumen" #: tools/editor/animation_editor.cpp msgid "Create NEW track for %s and insert key?" -msgstr "" +msgstr "Erstelle einen NEUEN Track für %s und füge einen Key ein?" #: tools/editor/animation_editor.cpp msgid "Create %d NEW tracks and insert keys?" -msgstr "" +msgstr "Erstelle %d NEUE Tracks und füge Keys ein?" #: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp @@ -606,155 +700,166 @@ msgstr "Erstellen" #: tools/editor/animation_editor.cpp msgid "Anim Create & Insert" -msgstr "" +msgstr "Animation Erstellen & Einfügen" #: tools/editor/animation_editor.cpp msgid "Anim Insert Track & Key" -msgstr "" +msgstr "Animation Track & Key Einfügen" #: tools/editor/animation_editor.cpp msgid "Anim Insert Key" -msgstr "" +msgstr "Animation Key Einfügen" #: tools/editor/animation_editor.cpp msgid "Change Anim Len" -msgstr "" +msgstr "Ändere Animationslänge" #: tools/editor/animation_editor.cpp msgid "Change Anim Loop" -msgstr "" +msgstr "Ändere Animationswiederholung" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Change Anim Loop Interpolation" +msgstr "Ändere Animationswiederholung" #: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" -msgstr "" +msgstr "Animation Erstelle Typed Value Key" #: tools/editor/animation_editor.cpp msgid "Anim Insert" -msgstr "" +msgstr "Anim einfügen" #: tools/editor/animation_editor.cpp msgid "Anim Scale Keys" -msgstr "" +msgstr "Animation Skaliere Keys" #: tools/editor/animation_editor.cpp msgid "Anim Add Call Track" -msgstr "" +msgstr "Animation Call Track Einfügen" #: tools/editor/animation_editor.cpp msgid "Animation zoom." -msgstr "" +msgstr "Animation zoomen." #: tools/editor/animation_editor.cpp msgid "Length (s):" -msgstr "" +msgstr "Länge (s):" #: tools/editor/animation_editor.cpp msgid "Animation length (in seconds)." -msgstr "" +msgstr "Länge der Animation (in Sekunden)." #: tools/editor/animation_editor.cpp msgid "Step (s):" -msgstr "" +msgstr "Schritte (s):" #: tools/editor/animation_editor.cpp msgid "Cursor step snap (in seconds)." -msgstr "" +msgstr "Cursor Schritt Raster (in Sekunden)." #: tools/editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "" +msgstr "Aktivieren / Deaktivieren der Schleife (Loop)." + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Enable/Disable interpolation when looping animation." +msgstr "Aktivieren / Deaktivieren der Schleife (Loop)." #: tools/editor/animation_editor.cpp msgid "Add new tracks." -msgstr "" +msgstr "Neue Spuren hinzufügen." #: tools/editor/animation_editor.cpp msgid "Move current track up." -msgstr "" +msgstr "Aktuelle Spur hochschieben." #: tools/editor/animation_editor.cpp msgid "Move current track down." -msgstr "" +msgstr "Aktuelle Spur runterschieben." #: tools/editor/animation_editor.cpp msgid "Remove selected track." -msgstr "" +msgstr "Ausgewählte Spur entfernen." #: tools/editor/animation_editor.cpp msgid "Track tools" -msgstr "" +msgstr "Spur-Werkzeuge" #: tools/editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." msgstr "" +"Aktiviere das editieren von individuellen Keys in dem auf sie geclickt wird." #: tools/editor/animation_editor.cpp msgid "Anim. Optimizer" -msgstr "" +msgstr "Anim. Optimierer" #: tools/editor/animation_editor.cpp msgid "Max. Linear Error:" -msgstr "" +msgstr "Max. Linearer Fehler:" #: tools/editor/animation_editor.cpp msgid "Max. Angular Error:" -msgstr "" +msgstr "Max. Winkel Fehler:" #: tools/editor/animation_editor.cpp msgid "Max Optimizable Angle:" -msgstr "" +msgstr "Maximal optimierbarer Winkel:" #: tools/editor/animation_editor.cpp msgid "Optimize" -msgstr "" +msgstr "Optimieren" #: tools/editor/animation_editor.cpp msgid "Key" -msgstr "" +msgstr "Schlüsselbild" #: tools/editor/animation_editor.cpp msgid "Transition" -msgstr "" +msgstr "Übergang" #: tools/editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "" +msgstr "Skalierungsverhältnis:" #: tools/editor/animation_editor.cpp msgid "Call Functions in Which Node?" -msgstr "" +msgstr "Rufe Funktion auf in welchem Node?" #: tools/editor/animation_editor.cpp msgid "Remove invalid keys" -msgstr "" +msgstr "Ungültige Schlüsselbilder entfernen" #: tools/editor/animation_editor.cpp msgid "Remove unresolved and empty tracks" -msgstr "" +msgstr "Ungelöste und leere Spuren entfernen" #: tools/editor/animation_editor.cpp msgid "Clean-up all animations" -msgstr "" +msgstr "Alle Animationen aufräumen" #: tools/editor/animation_editor.cpp msgid "Clean-Up Animation(s) (NO UNDO!)" -msgstr "" +msgstr "Alle Animationen aufräumen (Nicht rückgängig zu machen!)" #: tools/editor/animation_editor.cpp msgid "Clean-Up" -msgstr "" +msgstr "Aufräumen" #: tools/editor/array_property_edit.cpp msgid "Resize Array" -msgstr "" +msgstr "Größe des Feldes ändern" #: tools/editor/array_property_edit.cpp msgid "Change Array Value Type" -msgstr "" +msgstr "Ändere Array Wert Typ" #: tools/editor/array_property_edit.cpp msgid "Change Array Value" -msgstr "" +msgstr "Ändere Array Wert" #: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp #: tools/editor/editor_help.cpp tools/editor/editor_node.cpp @@ -765,11 +870,11 @@ msgstr "Suche:" #: tools/editor/asset_library_editor_plugin.cpp msgid "Sort:" -msgstr "" +msgstr "Sortiere:" #: tools/editor/asset_library_editor_plugin.cpp msgid "Reverse" -msgstr "" +msgstr "Umkehren" #: tools/editor/asset_library_editor_plugin.cpp #: tools/editor/project_settings.cpp @@ -778,41 +883,39 @@ msgstr "Kategorie:" #: tools/editor/asset_library_editor_plugin.cpp msgid "All" -msgstr "" +msgstr "Alle" #: tools/editor/asset_library_editor_plugin.cpp msgid "Site:" -msgstr "" +msgstr "Seite:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Exportieren.." +msgstr "Unterstützung.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Offiziell" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Community" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Test:" +msgstr "Testen" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "" +msgstr "ZIP Datei der Projektdaten" #: tools/editor/call_dialog.cpp msgid "Method List For '%s':" -msgstr "" +msgstr "Methodenliste für '%s':" #: tools/editor/call_dialog.cpp msgid "Call" -msgstr "" +msgstr "Aufruf" #: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp #: tools/editor/import_settings.cpp @@ -829,15 +932,15 @@ msgstr "Schließen" #: tools/editor/call_dialog.cpp msgid "Method List:" -msgstr "" +msgstr "Methodenliste:" #: tools/editor/call_dialog.cpp msgid "Arguments:" -msgstr "" +msgstr "Argumente:" #: tools/editor/call_dialog.cpp msgid "Return:" -msgstr "" +msgstr "Rückgabe:" #: tools/editor/code_editor.cpp msgid "Go to Line" @@ -849,11 +952,11 @@ msgstr "Zeilennummer:" #: tools/editor/code_editor.cpp msgid "No Matches" -msgstr "Keine Übereinstimmung" +msgstr "Keine Übereinstimmungen" #: tools/editor/code_editor.cpp msgid "Replaced %d Ocurrence(s)." -msgstr "" +msgstr "%d mal wurde das Vorkommen ersetzt." #: tools/editor/code_editor.cpp msgid "Replace" @@ -869,11 +972,11 @@ msgstr "Groß-/Kleinschreibung berücksichtigen" #: tools/editor/code_editor.cpp msgid "Whole Words" -msgstr "Gesamte Wörter" +msgstr "Ganze Wörter" #: tools/editor/code_editor.cpp msgid "Selection Only" -msgstr "" +msgstr "Nur Auswahl" #: tools/editor/code_editor.cpp tools/editor/editor_help.cpp #: tools/editor/plugins/script_editor_plugin.cpp @@ -892,7 +995,7 @@ msgstr "Nächste" #: tools/editor/code_editor.cpp msgid "Replaced %d ocurrence(s)." -msgstr "" +msgstr "%d mal wurde das Vorkommen ersetzt." #: tools/editor/code_editor.cpp msgid "Not found!" @@ -904,15 +1007,15 @@ msgstr "Ersetzen durch" #: tools/editor/code_editor.cpp msgid "Case Sensitive" -msgstr "" +msgstr "Fallunterscheidung" #: tools/editor/code_editor.cpp msgid "Backwards" -msgstr "" +msgstr "Rückwärts" #: tools/editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "" +msgstr "Aufforderung beim Ersetzen" #: tools/editor/code_editor.cpp msgid "Skip" @@ -928,15 +1031,12 @@ msgstr "Spalte:" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "" - -#: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" -msgstr "" +msgstr "Methode in Ziel-Node muss angegeben werden!" #: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "" +#, fuzzy +msgid "Conect To Node:" +msgstr "Verbinde Zu Node:" #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp @@ -947,29 +1047,36 @@ msgstr "Hinzufügen" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" -msgstr "Entferne" +msgstr "Entfernen" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" +msgid "Add Extra Call Argument:" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "" +#, fuzzy +msgid "Extra Call Arguments:" +msgstr "Argumente:" + +#: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Path to Node:" +msgstr "Pfad Zu Node:" #: tools/editor/connections_dialog.cpp msgid "Make Function" -msgstr "" +msgstr "Erstelle Funktion" #: tools/editor/connections_dialog.cpp msgid "Deferred" -msgstr "" +msgstr "Ausgesetzt" #: tools/editor/connections_dialog.cpp msgid "Oneshot" -msgstr "" +msgstr "Einmalig" #: tools/editor/connections_dialog.cpp msgid "Connect" @@ -977,11 +1084,16 @@ msgstr "Verbinden" #: tools/editor/connections_dialog.cpp msgid "Connect '%s' to '%s'" -msgstr "" +msgstr "Verbinde '%s' zu '%s'" + +#: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Connecting Signal:" +msgstr "Verbindungen:" #: tools/editor/connections_dialog.cpp msgid "Create Subscription" -msgstr "" +msgstr "Erstelle Subscription" #: tools/editor/connections_dialog.cpp msgid "Connect.." @@ -994,16 +1106,16 @@ msgstr "Trennen" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp msgid "Signals" -msgstr "" +msgstr "Signale" #: tools/editor/create_dialog.cpp msgid "Create New" -msgstr "" +msgstr "Neu erstellen" #: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp #: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp msgid "Matches:" -msgstr "" +msgstr "Treffer:" #: tools/editor/dependency_editor.cpp msgid "Search Replacement For:" @@ -1011,19 +1123,23 @@ msgstr "Suche Ersatz für:" #: tools/editor/dependency_editor.cpp msgid "Dependencies For:" -msgstr "" +msgstr "Abhängigkeiten Für:" #: tools/editor/dependency_editor.cpp msgid "" "Scene '%s' is currently being edited.\n" "Changes will not take effect unless reloaded." msgstr "" +"Szene '%s' wird momentan bearbeitet.\n" +"Änderungen werden nicht vorgenommen, bis neu geladen wird." #: tools/editor/dependency_editor.cpp msgid "" "Resource '%s' is in use.\n" "Changes will take effect when reloaded." msgstr "" +"Ressource '%s' wird momentan benutzt.\n" +"Änderungen werden erst nach neu laden aktiv." #: tools/editor/dependency_editor.cpp msgid "Dependencies" @@ -1044,7 +1160,7 @@ msgstr "Abhängigkeiten:" #: tools/editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "" +msgstr "Repariere Nichtfunktionierende" #: tools/editor/dependency_editor.cpp msgid "Dependency Editor" @@ -1052,7 +1168,7 @@ msgstr "Abhängigkeiten-Editor" #: tools/editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "" +msgstr "Suche Ersetzbare Ressource:" #: tools/editor/dependency_editor.cpp msgid "Owners Of:" @@ -1064,6 +1180,9 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" +"Die zu entfernenden Dateien werden von anderen Ressourcen gebraucht damit " +"sie richtig funktionieren können.\n" +"Trotzdem entfernen? (Nicht Wiederherstellbar)" #: tools/editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" @@ -1075,15 +1194,15 @@ msgstr "Ladefehler:" #: tools/editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" -msgstr "" +msgstr "Szene konnte aufgrund fehlender Abhängigkeiten nicht geladen werden:" #: tools/editor/dependency_editor.cpp msgid "Open Anyway" -msgstr "" +msgstr "Trotzdem öffnen" #: tools/editor/dependency_editor.cpp msgid "Which action should be taken?" -msgstr "" +msgstr "Welche Aktion soll ausgeführt werden?" #: tools/editor/dependency_editor.cpp msgid "Fix Dependencies" @@ -1091,44 +1210,45 @@ msgstr "Abhängigkeiten reparieren" #: tools/editor/dependency_editor.cpp msgid "Errors loading!" -msgstr "" +msgstr "Fehler beim laden!" #: tools/editor/dependency_editor.cpp msgid "Permanently delete %d item(s)? (No undo!)" -msgstr "" +msgstr "Entferne %d Datei(en) dauerhaft? (Nicht Wiederherstellbar)" #: tools/editor/dependency_editor.cpp msgid "Owns" -msgstr "" +msgstr "Gehört zu" #: tools/editor/dependency_editor.cpp msgid "Resources Without Explicit Ownership:" -msgstr "" +msgstr "Ressource Ohne Direkte Zugehörigkeit:" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp msgid "Orphan Resource Explorer" -msgstr "" +msgstr "Ressourcen Explorer Für Verwaiste Dateien" #: tools/editor/dependency_editor.cpp msgid "Delete selected files?" msgstr "Ausgewählten Dateien löschen?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Löschen" #: tools/editor/editor_data.cpp msgid "Updating Scene" -msgstr "" +msgstr "Aktualisiere Szene" #: tools/editor/editor_data.cpp msgid "Storing local changes.." -msgstr "" +msgstr "Speichere lokale Änderungen.." #: tools/editor/editor_data.cpp msgid "Updating scene.." -msgstr "" +msgstr "Aktualisiere Szene..." #: tools/editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1144,7 +1264,7 @@ msgstr "Favoriten:" #: tools/editor/editor_file_dialog.cpp msgid "Recent:" -msgstr "" +msgstr "Kürzlich:" #: tools/editor/editor_file_dialog.cpp msgid "Preview:" @@ -1152,56 +1272,56 @@ msgstr "Vorschau:" #: tools/editor/editor_file_system.cpp msgid "Cannot go into subdir:" -msgstr "" +msgstr "Unterordner kann nicht geöffnet werden:" #: tools/editor/editor_file_system.cpp msgid "ScanSources" -msgstr "" +msgstr "Scanne Quellen" #: tools/editor/editor_help.cpp msgid "Search Classes" -msgstr "" +msgstr "Klassen suchen" #: tools/editor/editor_help.cpp msgid "Class List:" -msgstr "" +msgstr "Klassenliste:" #: tools/editor/editor_help.cpp tools/editor/property_editor.cpp msgid "Class:" -msgstr "" +msgstr "Klasse:" #: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp #: tools/editor/script_create_dialog.cpp msgid "Inherits:" -msgstr "" +msgstr "Erbt:" #: tools/editor/editor_help.cpp msgid "Inherited by:" -msgstr "" +msgstr "Geerbt von:" #: tools/editor/editor_help.cpp msgid "Brief Description:" -msgstr "" +msgstr "Kurze Beschreibung:" #: tools/editor/editor_help.cpp msgid "Public Methods:" -msgstr "" +msgstr "Public Methoden:" #: tools/editor/editor_help.cpp msgid "Members:" -msgstr "" +msgstr "Mitglieder:" #: tools/editor/editor_help.cpp msgid "GUI Theme Items:" -msgstr "" +msgstr "GUI Theme Einträge:" #: tools/editor/editor_help.cpp msgid "Signals:" -msgstr "" +msgstr "Signale:" #: tools/editor/editor_help.cpp msgid "Constants:" -msgstr "" +msgstr "Konstanten:" #: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp msgid "Description:" @@ -1209,11 +1329,11 @@ msgstr "Beschreibung:" #: tools/editor/editor_help.cpp msgid "Method Description:" -msgstr "" +msgstr "Methoden Beschreibung:" #: tools/editor/editor_help.cpp msgid "Search Text" -msgstr "" +msgstr "Suchtext" #: tools/editor/editor_import_export.cpp msgid "Added:" @@ -1225,53 +1345,53 @@ msgstr "Entfernt:" #: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp msgid "Error saving atlas:" -msgstr "" +msgstr "Fehler beim speichern des Atlas:" #: tools/editor/editor_import_export.cpp msgid "Could not save atlas subtexture:" -msgstr "" +msgstr "Atlas Untertextur konnte nicht gespeichert werden:" #: tools/editor/editor_import_export.cpp msgid "Storing File:" -msgstr "" +msgstr "Speichere Datei:" #: tools/editor/editor_import_export.cpp msgid "Packing" -msgstr "" +msgstr "Packe" #: tools/editor/editor_import_export.cpp msgid "Exporting for %s" -msgstr "" +msgstr "Exportiere für %s" #: tools/editor/editor_import_export.cpp msgid "Setting Up.." -msgstr "" +msgstr "Bereite vor..." #: tools/editor/editor_log.cpp msgid " Output:" -msgstr "" +msgstr " Ausgabe:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" -msgstr "" +msgstr "Re-Import" #: tools/editor/editor_node.cpp msgid "Importing:" -msgstr "" +msgstr "Importiere:" #: tools/editor/editor_node.cpp msgid "Node From Scene" -msgstr "" +msgstr "Node aus Szene" #: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp msgid "Re-Import.." -msgstr "" +msgstr "Re-Import.." #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp msgid "Error saving resource!" -msgstr "" +msgstr "Fehler beim speichern der Ressource!" #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp @@ -1281,236 +1401,248 @@ msgstr "Speichere Ressource als.." #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "I see.." -msgstr "" +msgstr "Verstehe..." #: tools/editor/editor_node.cpp msgid "Can't open file for writing:" -msgstr "" +msgstr "Kann Datei zum schreiben nicht öffnen:" #: tools/editor/editor_node.cpp msgid "Requested file format unknown:" -msgstr "" +msgstr "Angefordertes Dateiformat unbekannt:" #: tools/editor/editor_node.cpp msgid "Error while saving." -msgstr "" +msgstr "Fehler beim speichern." #: tools/editor/editor_node.cpp msgid "Saving Scene" -msgstr "" +msgstr "Speichere Szene" #: tools/editor/editor_node.cpp msgid "Analyzing" -msgstr "" +msgstr "Analysiere" #: tools/editor/editor_node.cpp msgid "Creating Thumbnail" -msgstr "" +msgstr "Erzeuge Miniaturansicht" #: tools/editor/editor_node.cpp msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" +"Szene konnte nicht gespeichert werden. Wahrscheinliche Abhängigkeiten " +"(Instanzen) sind nicht erfüllt." #: tools/editor/editor_node.cpp msgid "Failed to load resource." -msgstr "" +msgstr "Laden der Ressource gescheitert." #: tools/editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "MeshLibrary zum vereinen konnte nicht geladen werden!" #: tools/editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "Fehler beim speichern der MeshLibrary!" #: tools/editor/editor_node.cpp msgid "Can't load TileSet for merging!" -msgstr "" +msgstr "TileSet zum vereinen kann nicht geladen werden!" #: tools/editor/editor_node.cpp msgid "Error saving TileSet!" -msgstr "" +msgstr "Fehler beim speichern des TileSet!" #: tools/editor/editor_node.cpp msgid "Can't open export templates zip." -msgstr "" +msgstr "\"Export Templates Zip\" kann nicht geöffnet werden." #: tools/editor/editor_node.cpp msgid "Loading Export Templates" -msgstr "" +msgstr "Lade Export Templates" #: tools/editor/editor_node.cpp msgid "Error trying to save layout!" -msgstr "" +msgstr "Fehler beim speichern des Layouts!" #: tools/editor/editor_node.cpp msgid "Default editor layout overridden." -msgstr "" +msgstr "Standard Editor Layout überschrieben." #: tools/editor/editor_node.cpp msgid "Layout name not found!" -msgstr "" +msgstr "Layout Name nicht gefunden!" #: tools/editor/editor_node.cpp msgid "Restored default layout to base settings." -msgstr "" +msgstr "Layout zu Standard Einstellungen zurückgesetzt." #: tools/editor/editor_node.cpp msgid "Copy Params" -msgstr "" +msgstr "Parameter Kopieren" #: tools/editor/editor_node.cpp msgid "Paste Params" -msgstr "" +msgstr "Parameter Einfügen" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp msgid "Paste Resource" -msgstr "" +msgstr "Ressource Einfügen" #: tools/editor/editor_node.cpp msgid "Copy Resource" -msgstr "" +msgstr "Ressource Kopieren" #: tools/editor/editor_node.cpp msgid "Make Built-In" -msgstr "" +msgstr "Einbetten" #: tools/editor/editor_node.cpp msgid "Make Sub-Resources Unique" -msgstr "" +msgstr "Unter-Ressource Einzigartig Machen" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Im Editor öffnen" +msgstr "In Hilfe öffnen" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." -msgstr "" +msgstr "Es ist keine zu startende Szene definiert." #: tools/editor/editor_node.cpp msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"Es ist keine Hauptszene definiert worden.\n" +"Wähle eine in den \"Projekt Einstellungen\" in der 'Applikation' Kategorie." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." msgstr "" +"Die aktuelle Szene wurde noch nicht gespeichert, bitte speichere sie vor dem " +"starten." #: tools/editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "" +msgstr "Unterprozess konnte nicht gestartet werden!" #: tools/editor/editor_node.cpp msgid "Open Scene" -msgstr "" +msgstr "Szene Öffnen" #: tools/editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "Basis Szene Öffnen" #: tools/editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "" +msgstr "Schnelles Szenen Öffnen.." #: tools/editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "" +msgstr "Schnelles Script Öffnen.." #: tools/editor/editor_node.cpp msgid "Yes" -msgstr "" +msgstr "Ja" #: tools/editor/editor_node.cpp msgid "Close scene? (Unsaved changes will be lost)" -msgstr "" +msgstr "Szene schließen? (Nicht gespeicherte Änderungen gehen verloren)" #: tools/editor/editor_node.cpp msgid "Save Scene As.." -msgstr "" +msgstr "Szene Speichern Als.." #: tools/editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" -msgstr "" +msgstr "Diese Szene wurde nie gespeichert. Speichern vor dem starten?" #: tools/editor/editor_node.cpp msgid "Please save the scene first." -msgstr "" +msgstr "Bitte speichere die Szene zuerst." #: tools/editor/editor_node.cpp msgid "Save Translatable Strings" -msgstr "" +msgstr "Speichere Übersetzbare Zeichen" #: tools/editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "Mesh Library exportieren" #: tools/editor/editor_node.cpp msgid "Export Tile Set" -msgstr "" +msgstr "Tile Set Exportieren" #: tools/editor/editor_node.cpp msgid "Quit" -msgstr "" +msgstr "Verlassen" #: tools/editor/editor_node.cpp msgid "Exit the editor?" -msgstr "" +msgstr "Editor verlassen?" #: tools/editor/editor_node.cpp msgid "Current scene not saved. Open anyway?" -msgstr "" +msgstr "Die aktuelle Szene ist nicht gespeichert. Trotzdem öffnen?" #: tools/editor/editor_node.cpp msgid "Can't reload a scene that was never saved." msgstr "" +"Szene kann nicht neu geladen werden wenn sie vorher nicht gespeichert wurde." #: tools/editor/editor_node.cpp msgid "Revert" -msgstr "" +msgstr "Zurücksetzen" #: tools/editor/editor_node.cpp msgid "This action cannot be undone. Revert anyway?" msgstr "" +"Diese Aktion kann nicht rückgängig gemacht werden. Trotzdem zurücksetzen?" #: tools/editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "" +msgstr "Szene Schnell Starten.." #: tools/editor/editor_node.cpp msgid "" "Open Project Manager? \n" "(Unsaved changes will be lost)" msgstr "" +"Projektmanager Öffnen?\n" +"(Nichtgespeicherte Änderungen gehen verloren)" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" -msgstr "" +msgstr "Ugh" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" +"Fehler beim laden der Szene, sie muss innerhalb des Projekt Pfades liegen. " +"Nutze 'Import' um die Szene zu öffnen, dann speichere sie innherhalb des " +"Projekt Pfades." #: tools/editor/editor_node.cpp msgid "Error loading scene." -msgstr "" +msgstr "Fehler beim laden der Szene." #: tools/editor/editor_node.cpp msgid "Scene '%s' has broken dependencies:" -msgstr "" +msgstr "Szene '%s' hat ungelöste Abhängigkeiten:" #: tools/editor/editor_node.cpp msgid "Save Layout" -msgstr "" +msgstr "Layout Speichern" #: tools/editor/editor_node.cpp msgid "Load Layout" -msgstr "" +msgstr "Layout Laden" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1518,105 +1650,113 @@ msgstr "Standard" #: tools/editor/editor_node.cpp msgid "Delete Layout" -msgstr "" +msgstr "Layout Löschen" #: tools/editor/editor_node.cpp msgid "Switch Scene Tab" -msgstr "" +msgstr "Wechsle Szenen Tab" #: tools/editor/editor_node.cpp msgid "%d more file(s)" -msgstr "" +msgstr "%d weitere Datei(en)" #: tools/editor/editor_node.cpp msgid "%d more file(s) or folder(s)" -msgstr "" +msgstr "%d weitere Datei(en) oder Ordner" #: tools/editor/editor_node.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Scene" -msgstr "" +msgstr "Szene" #: tools/editor/editor_node.cpp msgid "Go to previously opened scene." +msgstr "Gehe zu vorher geöffneter Szene." + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" msgstr "" #: tools/editor/editor_node.cpp -msgid "Operations with scene files." +msgid "Distraction Free Mode" msgstr "" #: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "Operationen mit Szenen Dateien." + +#: tools/editor/editor_node.cpp msgid "New Scene" -msgstr "" +msgstr "Neue Szene" #: tools/editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "" +msgstr "Neue vererbte Szene.." #: tools/editor/editor_node.cpp msgid "Open Scene.." -msgstr "" +msgstr "Szene Öffnen.." #: tools/editor/editor_node.cpp msgid "Save Scene" -msgstr "" +msgstr "Szene Speichern" #: tools/editor/editor_node.cpp msgid "Close Scene" -msgstr "" +msgstr "Szene Schliessen" #: tools/editor/editor_node.cpp msgid "Close Goto Prev. Scene" -msgstr "" +msgstr "Schließen Zu Vorh. Szene Gehen" #: tools/editor/editor_node.cpp msgid "Open Recent" -msgstr "" +msgstr "Aktuelle Öffnen" #: tools/editor/editor_node.cpp msgid "Quick Filter Files.." -msgstr "" +msgstr "Schnelle Filter Dateien.." #: tools/editor/editor_node.cpp msgid "Convert To.." -msgstr "" +msgstr "Umwandeln Zu.." #: tools/editor/editor_node.cpp msgid "Translatable Strings.." -msgstr "" +msgstr "Übersetzbare Zeichen.." #: tools/editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "MeshLibrary.." #: tools/editor/editor_node.cpp msgid "TileSet.." -msgstr "" +msgstr "TileSet.." #: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Redo" -msgstr "" +msgstr "Wiederherstellen" #: tools/editor/editor_node.cpp msgid "Run Script" -msgstr "" +msgstr "Script Starten" #: tools/editor/editor_node.cpp msgid "Project Settings" -msgstr "" +msgstr "Projekt Einstellungen" #: tools/editor/editor_node.cpp msgid "Revert Scene" -msgstr "" +msgstr "Szene Zurücksetzen" #: tools/editor/editor_node.cpp msgid "Quit to Project List" -msgstr "" +msgstr "Verlasse zu Projekt Liste" #: tools/editor/editor_node.cpp msgid "Import assets to the project." -msgstr "" +msgstr "Importiere Assets zum Projekt." #: tools/editor/editor_node.cpp #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp @@ -1628,19 +1768,19 @@ msgstr "" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp #: tools/editor/project_manager.cpp msgid "Import" -msgstr "" +msgstr "Import" #: tools/editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "" +msgstr "Verschiedene Projekte oder Szenenweite Werkzeuge." #: tools/editor/editor_node.cpp msgid "Tools" -msgstr "" +msgstr "Werkzeuge" #: tools/editor/editor_node.cpp msgid "Export the project to many platforms." -msgstr "" +msgstr "Exportiere Projekt für viele Platformen." #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Export" @@ -1648,61 +1788,61 @@ msgstr "Exportieren" #: tools/editor/editor_node.cpp msgid "Play the project." -msgstr "" +msgstr "Projekt starten." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Play" -msgstr "" +msgstr "Abspielen" #: tools/editor/editor_node.cpp msgid "Pause the scene" -msgstr "" +msgstr "Pausiere die Szene" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Hauptszene" +msgstr "Szene pausieren" #: tools/editor/editor_node.cpp msgid "Stop the scene." -msgstr "" +msgstr "Stoppe die Szene." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Stop" -msgstr "" +msgstr "Stop" #: tools/editor/editor_node.cpp msgid "Play the edited scene." -msgstr "" +msgstr "Spiele die editierte Szene." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Hauptszene" +msgstr "Szene starten" #: tools/editor/editor_node.cpp msgid "Play custom scene" -msgstr "" +msgstr "Spiele angepasste Szene" #: tools/editor/editor_node.cpp msgid "Debug options" -msgstr "" +msgstr "Debug Optionen" #: tools/editor/editor_node.cpp msgid "Deploy with Remote Debug" -msgstr "" +msgstr "Mit Remote Debug starten" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"Beim Exportieren oder Starten wird das Programm versuchen, sich mit der IP-" +"Adresse dieses Computers zu verbinden, um debugged werden zu können." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Small Deploy mit Netzwerkdateisystem" #: tools/editor/editor_node.cpp msgid "" @@ -1710,33 +1850,43 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"Wenn diese Option aktiviert ist, wird das Exportieren bzw. Starten nur eine " +"kleine Programmdatei erzeugen.\n" +"Die Projektdaten werden vom Editor über das Netzwerk bereitgestellt.\n" +"Bei Android wird hierbei das USB Kabel wegen der schnelleren " +"Übertragungsgeschwindigkeit benutzt. Diese Option beschleunigt das Testen " +"von Spielen mit großen Projektdaten." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" -msgstr "" +msgstr "Collision Shapes sichtbar" #: tools/editor/editor_node.cpp msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Collision-Formen und Raycast Nodes (für 2D und 3D) werden im laufenden Spiel " +"angezeigt, falls diese Option aktiviert ist." #: tools/editor/editor_node.cpp msgid "Visible Navigation" -msgstr "" +msgstr "Navigation sichtbar" #: tools/editor/editor_node.cpp msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Navigations- Meshes und Polygone werden im laufenden Spiel sichtbar sein " +"wenn diese Option gewählt ist." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Synchronisiere Szene Änderungen" #: tools/editor/editor_node.cpp msgid "" @@ -1745,10 +1895,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Wenn diese Option gewählt ist, werden jegliche Änderungen der Szene im " +"Editor im laufenden Spiel dargestellt.\n" +"Wenn dies über die Remote Funktion genutzt wird ist es effizienter mit dem " +"Netzwerk Dateisystem." #: tools/editor/editor_node.cpp msgid "Sync Script Changes" -msgstr "" +msgstr "Synchronisiere Script Änderungen" #: tools/editor/editor_node.cpp msgid "" @@ -1757,10 +1911,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Wenn diese Option gewählt ist, wird jeglich gespeichertes Script während des " +"laufenden Spiels neu geladen.\n" +"Wenn dies über die Remote Funktion genutzt wird ist es effizienter mit dem " +"Netzwerk Dateisystem." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" -msgstr "" +msgstr "Einstellungen" #: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp msgid "Editor Settings" @@ -1768,98 +1926,96 @@ msgstr "Editor-Einstellungen" #: tools/editor/editor_node.cpp msgid "Editor Layout" -msgstr "" +msgstr "Editor Layout" #: tools/editor/editor_node.cpp msgid "Install Export Templates" -msgstr "" +msgstr "Export Templates installieren" #: tools/editor/editor_node.cpp msgid "About" -msgstr "" +msgstr "Über" #: tools/editor/editor_node.cpp msgid "Alerts when an external resource has changed." -msgstr "" +msgstr "Schlägt Alarm falls sich eine externe Ressource verändert hat." #: tools/editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "" +msgstr "Rotiert wenn das Editor Fenster neu gezeichnet wird!" #: tools/editor/editor_node.cpp msgid "Update Always" -msgstr "" +msgstr "Immer aktualisieren" #: tools/editor/editor_node.cpp msgid "Update Changes" -msgstr "" +msgstr "Änderungen aktualisieren" #: tools/editor/editor_node.cpp msgid "Inspector" -msgstr "" +msgstr "Inspektor" #: tools/editor/editor_node.cpp msgid "Create a new resource in memory and edit it." -msgstr "" +msgstr "Erstelle eine neue Ressource im Speicher und editiere sie." #: tools/editor/editor_node.cpp msgid "Load an existing resource from disk and edit it." -msgstr "" +msgstr "Lade eine bestehende Ressource von der Festplatte und editiere sie." #: tools/editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "" +msgstr "Speichere die so eben editierte Ressource." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "" +msgstr "Speichern als.." #: tools/editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "" +msgstr "Gehe zum vorherigen editierten Objekt im Verlauf." #: tools/editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "" +msgstr "Gehe zum nächsten editierten Objekt im Verlauf." #: tools/editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "" +msgstr "Verlauf der zuletzt editierten Objekte." #: tools/editor/editor_node.cpp msgid "Object properties." -msgstr "" +msgstr "Objekt Eigenschaften." #: tools/editor/editor_node.cpp msgid "FileSystem" -msgstr "" +msgstr "Dateisystem" #: tools/editor/editor_node.cpp msgid "Output" -msgstr "" +msgstr "Ausgabe" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp #: tools/editor/import_settings.cpp msgid "Re-Import" -msgstr "" +msgstr "Re-Import" #: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp msgid "Update" -msgstr "" +msgstr "Update" #: tools/editor/editor_node.cpp msgid "Thanks from the Godot community!" -msgstr "" +msgstr "Ein Dank von der Godot Community!" #: tools/editor/editor_node.cpp msgid "Thanks!" -msgstr "" +msgstr "Danke!" #: tools/editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "" +msgstr "Importiere Templates Aus ZIP Datei" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Export Project" @@ -1867,11 +2023,11 @@ msgstr "Projekt exportieren" #: tools/editor/editor_node.cpp msgid "Export Library" -msgstr "" +msgstr "Export Bibliothek" #: tools/editor/editor_node.cpp msgid "Merge With Existing" -msgstr "" +msgstr "Vereine Mit Existierenden" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Password:" @@ -1879,11 +2035,11 @@ msgstr "Passwort:" #: tools/editor/editor_node.cpp msgid "Open & Run a Script" -msgstr "" +msgstr "Script Öffnen & Starten" #: tools/editor/editor_node.cpp msgid "Load Errors" -msgstr "" +msgstr "Lade Fehler" #: tools/editor/editor_plugin_settings.cpp msgid "Installed Plugins:" @@ -1903,31 +2059,31 @@ msgstr "Status:" #: tools/editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Profiling Stoppen" #: tools/editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Profiling Starten" #: tools/editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Maße:" #: tools/editor/editor_profiler.cpp msgid "Frame Time (sec)" -msgstr "" +msgstr "Bild Zeit (Sek)" #: tools/editor/editor_profiler.cpp msgid "Average Time (sec)" -msgstr "" +msgstr "Durchschnitts Zeit (Sek)" #: tools/editor/editor_profiler.cpp msgid "Frame %" -msgstr "" +msgstr "Bild %" #: tools/editor/editor_profiler.cpp msgid "Fixed Frame %" -msgstr "" +msgstr "Fixiertes Bild %" #: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp msgid "Time:" @@ -1935,23 +2091,23 @@ msgstr "Zeit:" #: tools/editor/editor_profiler.cpp msgid "Inclusive" -msgstr "" +msgstr "Inklusive" #: tools/editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Self" #: tools/editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "Bild #:" #: tools/editor/editor_reimport_dialog.cpp msgid "Please wait for scan to complete." -msgstr "" +msgstr "Bitte warten bis der Scan abgeschlossen ist." #: tools/editor/editor_reimport_dialog.cpp msgid "Current scene must be saved to re-import." -msgstr "" +msgstr "Aktuelle Szene muss gespeichert sein um sie erneut zu importieren." #: tools/editor/editor_reimport_dialog.cpp msgid "Save & Re-Import" @@ -1959,103 +2115,105 @@ msgstr "Speichern & erneut importieren" #: tools/editor/editor_reimport_dialog.cpp msgid "Re-Import Changed Resources" -msgstr "" +msgstr "Veränderte Ressourcen Neu Importieren" #: tools/editor/editor_run_script.cpp msgid "Write your logic in the _run() method." -msgstr "" +msgstr "Schreibe die Logik in die _run() Methode." #: tools/editor/editor_run_script.cpp msgid "There is an edited scene already." -msgstr "" +msgstr "Es besteht eine editierte Szene bereits." #: tools/editor/editor_run_script.cpp msgid "Couldn't instance script:" -msgstr "" +msgstr "Skript konnte nicht instanziert werden:" #: tools/editor/editor_run_script.cpp msgid "Did you forget the 'tool' keyword?" -msgstr "" +msgstr "Hast du das 'tool' Schlüsselwort vergessen?" #: tools/editor/editor_run_script.cpp msgid "Couldn't run script:" -msgstr "" +msgstr "Skript konnte nicht ausgeführt werden:" #: tools/editor/editor_run_script.cpp msgid "Did you forget the '_run' method?" -msgstr "" +msgstr "Hast du die '_run' Methode vergessen?" #: tools/editor/editor_settings.cpp msgid "Default (Same as Editor)" -msgstr "" +msgstr "Standard (Dasselbe wie der Editor)" #: tools/editor/editor_sub_scene.cpp msgid "Select Node(s) to Import" -msgstr "" +msgstr "Selektiere Node(s) für den Import" #: tools/editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "" +msgstr "Szenen Pfad:" #: tools/editor/editor_sub_scene.cpp msgid "Import From Node:" -msgstr "" +msgstr "Importiere Aus Einem Node:" #: tools/editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" msgstr "" +"fil_type_cache.cch kann nicht mit Schreibzugriff geöffnet werden, file type " +"cache wird nicht gespeichert!" #: tools/editor/groups_editor.cpp msgid "Add to Group" -msgstr "" +msgstr "Füge Gruppe hinzu" #: tools/editor/groups_editor.cpp msgid "Remove from Group" -msgstr "" +msgstr "Entferne aus Gruppe" #: tools/editor/import_settings.cpp msgid "Imported Resources" -msgstr "" +msgstr "Importierte Ressourcen" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "No bit masks to import!" -msgstr "" +msgstr "Keine Bit Masken zu importieren!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path is empty." -msgstr "" +msgstr "Ziel Pfad ist leer." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must be a complete resource path." -msgstr "" +msgstr "Ziel Pfad muss ein kompletter Ressourcen Pfad sein." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must exist." -msgstr "" +msgstr "Ziel Pfad muss existieren." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Save path is empty!" -msgstr "" +msgstr "Speicher Pfad ist leer!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Import BitMasks" -msgstr "" +msgstr "Importiere BitMasks" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Source Texture(s):" -msgstr "" +msgstr "Quell Textur(en):" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp @@ -2064,7 +2222,7 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Target Path:" -msgstr "" +msgstr "Ziel Pfad:" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -2073,43 +2231,43 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Accept" -msgstr "" +msgstr "Akzeptieren" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Bit Maske" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" -msgstr "" +msgstr "Kein Quell Font gefunden!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No target font resource!" -msgstr "" +msgstr "Keine Ziel Font Ressource!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." -msgstr "" +msgstr "Quell Font kann nicht geladen/verarbeitet werden." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Couldn't save font." -msgstr "" +msgstr "Font konnte nicht gespeichert werden." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Source Font:" -msgstr "" +msgstr "Quell Font:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Source Font Size:" -msgstr "" +msgstr "Quell Font Größe:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Dest Resource:" -msgstr "" +msgstr "Ziel Ressource:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "The quick brown fox jumps over the lazy dog." -msgstr "" +msgstr "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Test:" @@ -2124,99 +2282,102 @@ msgstr "Optionen:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Font Import" -msgstr "" +msgstr "Font Import" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "" "This file is already a Godot font file, please supply a BMFont type file " "instead." msgstr "" +"Diese Datei ist bereits eine Godot Font Datei, bitte gib eine BMFont Datei " +"anstelle an." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Failed opening as BMFont file." -msgstr "" +msgstr "Öffnen der BMFont Datei fehlgeschlagen." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Invalid font custom source." -msgstr "" +msgstr "Unzulässige eigene Font Ressource." #: tools/editor/io_plugins/editor_font_import_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Font" -msgstr "" +msgstr "Schrift" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "No meshes to import!" -msgstr "" +msgstr "Keine Meshes zu importieren!" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Single Mesh Import" -msgstr "" +msgstr "Einzel Mesh Import" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Source Mesh(es):" -msgstr "" +msgstr "Quell Mesh(es):" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Mesh" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Surface %d" -msgstr "" +msgstr "Oberfläche %d" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "No samples to import!" -msgstr "" +msgstr "Keine Beispiele zu importieren!" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Import Audio Samples" -msgstr "" +msgstr "Audio Samples Importieren" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Source Sample(s):" -msgstr "" +msgstr "Quell Sample(s):" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Audio Sample" -msgstr "" +msgstr "Audio Sample" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "New Clip" -msgstr "" +msgstr "Neuer Clip" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Animation Options" -msgstr "" +msgstr "Animations Einstellungen" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Flags" -msgstr "" +msgstr "Flags" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Bake FPS:" -msgstr "" +msgstr "FPS Backen:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Optimizer" -msgstr "" +msgstr "Optimierer" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Max Linear Error" -msgstr "" +msgstr "Lineare Fehlergrenze" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Max Angular Error" -msgstr "" +msgstr "Angulare Fehlergrenze" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Max Angle" -msgstr "" +msgstr "Maximaler Winkel" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#, fuzzy msgid "Clips" -msgstr "" +msgstr "Begrenzungen" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -2226,16 +2387,16 @@ msgstr "Name" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Start(s)" -msgstr "" +msgstr "Start" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "End(s)" -msgstr "" +msgstr "Ende" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "Loop" -msgstr "" +msgstr "Wiederholung" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Filters" @@ -2243,104 +2404,105 @@ msgstr "Filter" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source path is empty." -msgstr "" +msgstr "Quell Pfad ist leer." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script." -msgstr "" +msgstr "Post-Import Skript konnte nicht geladen werden." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Invalid/broken script for post-import." -msgstr "" +msgstr "Fehlerhaftes Skript für Post-Import." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error importing scene." -msgstr "" +msgstr "Fehler beim importieren der Szene." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import 3D Scene" -msgstr "" +msgstr "3D Szene Importieren" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source Scene:" -msgstr "" +msgstr "Quell Szene:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Same as Target Scene" -msgstr "" +msgstr "Dieselbe wie die Zielszene" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Shared" -msgstr "" +msgstr "Geteilt" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Target Texture Folder:" -msgstr "" +msgstr "Ziel Texturen Ordner:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Post-Process Script:" -msgstr "" +msgstr "Post-Process Skript:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Custom Root Node Type:" -msgstr "" +msgstr "Angepasster Stamm-Node Typ:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Auto" -msgstr "" +msgstr "Auto" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "The Following Files are Missing:" -msgstr "" +msgstr "Die folgenden Dateien fehlen:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import Anyway" -msgstr "" +msgstr "Trotzdem importieren" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import & Open" -msgstr "" +msgstr "Importieren & Öffnen" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Edited scene has not been saved, open imported scene anyway?" msgstr "" +"Editierte Szene wurde nicht gespeichert, trotzdem importierte Szene öffnen?" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import Scene" -msgstr "" +msgstr "Szene Importieren" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Importing Scene.." -msgstr "" +msgstr "Szene Wird Importiert.." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Running Custom Script.." -msgstr "" +msgstr "Angepasstes Skript Wird Ausgeführt.." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script:" -msgstr "" +msgstr "Post-Import Skript konnte nicht geladen werden:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Invalid/broken script for post-import:" -msgstr "" +msgstr "Fehlerhaftes Skript für Post-Import:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" -msgstr "" +msgstr "Fehler beim ausführen des Post-Import Skripts:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import Image:" -msgstr "" +msgstr "Bild Importieren:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Can't import a file over itself:" -msgstr "" +msgstr "Es kann keine Datei in sich selbst importiert werden:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't localize path: %s (already local)" -msgstr "" +msgstr "Pfad konnte nicht gefunden werden: %s (bereits lokal)" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Saving.." @@ -2348,95 +2510,95 @@ msgstr "Speichere.." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "3D Scene Animation" -msgstr "" +msgstr "3D Szenen Animation" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Uncompressed" -msgstr "" +msgstr "Unkomprimiert" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Compress Lossless (PNG)" -msgstr "" +msgstr "Verlustfrei Komprimieren (PNG)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Compress Lossy (WebP)" -msgstr "" +msgstr "Verlustbehaftet Komprimieren (WebP)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Compress (VRAM)" -msgstr "" +msgstr "Komprimieren (VRAM)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture Format" -msgstr "" +msgstr "Textur-Format" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture Compression Quality (WebP):" -msgstr "" +msgstr "Textur Kompressions-Qualität (WebP):" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture Options" -msgstr "" +msgstr "Textur Einstellungen" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Please specify some files!" -msgstr "" +msgstr "Bitte gib einige Dateien an!" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "At least one file needed for Atlas." -msgstr "" +msgstr "Es wird zumindest eine Datei für den Atlas gebraucht." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Error importing:" -msgstr "" +msgstr "Fehler beim importieren:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Only one file is required for large texture." -msgstr "" +msgstr "Es ist nur eine Datei für eine große Textur erforderlich." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Max Texture Size:" -msgstr "" +msgstr "Maximale Textur Größe:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for Atlas (2D)" -msgstr "" +msgstr "Importiere Texturen für Atlas (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Cell Size:" -msgstr "" +msgstr "Zell-Größe:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Large Texture" -msgstr "" +msgstr "Große Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Large Textures (2D)" -msgstr "" +msgstr "Importiere Große Texturen (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Source Texture" -msgstr "" +msgstr "Quell-Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Base Atlas Texture" -msgstr "" +msgstr "Basis Atlas-Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Source Texture(s)" -msgstr "" +msgstr "Quell-Textur(en)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 2D" -msgstr "" +msgstr "Importiere Texturen für 2D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 3D" -msgstr "" +msgstr "Importiere Texturen für 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures" -msgstr "" +msgstr "Texturen Importieren" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "2D Texture" @@ -2448,65 +2610,67 @@ msgstr "3D-Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Atlas Texture" -msgstr "" +msgstr "Atlas-Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" +"MERKE: Das importieren von 2D Texturen ist nicht zwingend notwendig. Kopiere " +"einfach png/jpg Dateien in das Projekt." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." -msgstr "" +msgstr "Beschneide leere Bereiche." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture" -msgstr "" +msgstr "Textur" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Large Texture" -msgstr "" +msgstr "Große Textur Importieren" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Load Source Image" -msgstr "" +msgstr "Quell-Bild Laden" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Slicing" -msgstr "" +msgstr "Teile" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Inserting" -msgstr "" +msgstr "Füge Ein" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Saving" -msgstr "" +msgstr "Speichere" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Couldn't save large texture:" -msgstr "" +msgstr "Große Textur konnte nicht gespeichert werden:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Build Atlas For:" -msgstr "" +msgstr "Baue Atlas Für:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Loading Image:" -msgstr "" +msgstr "Lade Bild:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Couldn't load image:" -msgstr "" +msgstr "Bild konnte nicht geladen werden:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Converting Images" -msgstr "" +msgstr "Bilder werden konvertiert" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Cropping Images" -msgstr "" +msgstr "Bilder werden beschnitten" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Blitting Images" @@ -2514,23 +2678,23 @@ msgstr "" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Couldn't save atlas image:" -msgstr "" +msgstr "Atlas-Bild konnte nicht gespeichert werden:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Couldn't save converted texture:" -msgstr "" +msgstr "Konvertierte Textur konnte nicht gespeichert werden:" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Invalid source!" -msgstr "" +msgstr "Fehlerhafte Quelle!" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Invalid translation source!" -msgstr "" +msgstr "Fehlerhafte Übersetzungs-Quelle!" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Column" -msgstr "" +msgstr "Reihe" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp #: tools/editor/script_create_dialog.cpp @@ -2539,163 +2703,162 @@ msgstr "Sprache" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "No items to import!" -msgstr "" +msgstr "Keine Inhalte zu importieren!" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "No target path!" -msgstr "" +msgstr "Kein Ziel-Pfad!" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Import Translations" -msgstr "" +msgstr "Übersetzungen Importieren" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Couldn't import!" -msgstr "" +msgstr "Konnte nicht importiert werden!" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Import Translation" -msgstr "" +msgstr "Übersetzung Importieren" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Source CSV:" -msgstr "" +msgstr "Quell-CSV:" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Ignore First Row" -msgstr "" +msgstr "Ignoriere Erste Zeile" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Compress" -msgstr "" +msgstr "Komprimieren" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Add to Project (engine.cfg)" -msgstr "" +msgstr "Zu Projekt hinzufügen (engine.cfg)" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Import Languages:" -msgstr "" +msgstr "Sprachen Importieren:" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Translation" -msgstr "" +msgstr "Übersetzung" #: tools/editor/multi_node_edit.cpp msgid "MultiNode Set" -msgstr "" +msgstr "MultiNode Setzen" #: tools/editor/node_dock.cpp msgid "Node" -msgstr "" +msgstr "Node" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Gruppen:" +msgstr "Gruppen" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Selektiere ein Node um Signale und Gruppen zu editieren." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" -msgstr "" +msgstr "Autoplay Umschalten" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "New Animation Name:" -msgstr "" +msgstr "Neuer Animations-Name:" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "Neue Animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" -msgstr "" +msgstr "Ändere Animations-Name:" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "Remove Animation" -msgstr "" +msgstr "Animation Entfernen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Invalid animation name!" -msgstr "" +msgstr "FEHLER: Fehlerhafter Animations-Name!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: Animation name already exists!" -msgstr "" +msgstr "Fehler: Animations-Name existiert bereits!" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "Rename Animation" -msgstr "" +msgstr "Animation Umbenennen" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "Add Animation" -msgstr "" +msgstr "Animation Hinzufügen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "" +msgstr "Überblende Nächsten Geänderten" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" -msgstr "" +msgstr "Blend-Zeit Ändern" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load Animation" -msgstr "" +msgstr "Animation Laden" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Duplicate Animation" -msgstr "" +msgstr "Animation Duplizieren" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to copy!" -msgstr "" +msgstr "Fehler: Keine Animation zum kopieren!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation resource on clipboard!" -msgstr "" +msgstr "FEHLER: Keine Animations-Ressource im Zwischenspeicher!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Pasted Animation" -msgstr "" +msgstr "Eingefügte Animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Paste Animation" -msgstr "" +msgstr "Animation Einfügen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "ERROR: No animation to edit!" -msgstr "" +msgstr "FEHLER: Keine Animation zum editieren!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "" +msgstr "Spiele ausgewählte Animation rückwärts von aktueller Position. (A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" -msgstr "" +msgstr "Spiele ausgewählte Animation rückwärts vom Ende. (Shift+A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Stop animation playback. (S)" -msgstr "" +msgstr "Stoppe Animations-Wiedergabe. (S)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from start. (Shift+D)" -msgstr "" +msgstr "Spiele ausgewählte Animation vom Start. (Shift+D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation from current pos. (D)" -msgstr "" +msgstr "Ausgewählte Animation von aktueller Position aus abspielen. (D)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "" +msgstr "Position der Animation (in Sekunden)." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." @@ -2703,23 +2866,33 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "" +msgstr "Neue Animation im Player erstellen." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Load animation from disk." +msgstr "Eine Animation von der Festplatte laden." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "" +msgstr "Eine Animation von der Festplatte laden." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "" +msgstr "Aktuelle Animation speichern" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Save As" +msgstr "Speichern als.." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "" +msgstr "Liste der Animationen im Player anzeigen." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "" +msgstr "Beim Laden automatisch abpielen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" @@ -2727,19 +2900,19 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Tools" -msgstr "" +msgstr "Animationswerkzeuge" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Copy Animation" -msgstr "" +msgstr "Animation kopieren" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create New Animation" -msgstr "" +msgstr "Neue Animation erstellen" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation Name:" -msgstr "" +msgstr "Name der Animation:" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -2755,7 +2928,7 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "" +msgstr "Nächste (Automatische Warteschlange):" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" @@ -2764,24 +2937,24 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Animation" -msgstr "" +msgstr "Animation" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" -msgstr "" +msgstr "Neuer Name:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "" +msgstr "Skalierung:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" -msgstr "" +msgstr "Einblenden (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade Out (s):" -msgstr "" +msgstr "Ausblenden (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend" @@ -2789,28 +2962,28 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix" -msgstr "" +msgstr "Mix" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Auto Restart:" -msgstr "" +msgstr "Automatisch neu starten:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Restart (s):" -msgstr "" +msgstr "Neu starten (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Random Restart (s):" -msgstr "" +msgstr "Zufällig neu starten (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "" +msgstr "Start!" #: tools/editor/plugins/animation_tree_editor_plugin.cpp #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Amount:" -msgstr "" +msgstr "Menge:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend:" @@ -2826,15 +2999,15 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "" +msgstr "Überblendungszeit (s):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "" +msgstr "Laufend:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" -msgstr "" +msgstr "Eingang hinzufügen" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Clear Auto-Advance" @@ -2846,23 +3019,23 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Delete Input" -msgstr "" +msgstr "Eingang löschen" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Rename" -msgstr "" +msgstr "Umbenennen" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is valid." -msgstr "" +msgstr "Animationsbaum ist gültig." #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation tree is invalid." -msgstr "" +msgstr "Animationsbaum ist ungültig." #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Animation Node" -msgstr "" +msgstr "Animationsknoten" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "OneShot Node" @@ -2870,7 +3043,7 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Mix Node" -msgstr "" +msgstr "Mixknoten" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Blend2 Node" @@ -2898,7 +3071,7 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "" +msgstr "Animationen importieren.." #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" @@ -2906,15 +3079,15 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "" +msgstr "Filter.." #: tools/editor/plugins/baked_light_baker.cpp msgid "Parsing %d Triangles:" -msgstr "" +msgstr "Parse %d Dreiecke:" #: tools/editor/plugins/baked_light_baker.cpp msgid "Triangle #" -msgstr "" +msgstr "Dreieck #" #: tools/editor/plugins/baked_light_baker.cpp msgid "Light Baker Setup:" @@ -2922,15 +3095,15 @@ msgstr "" #: tools/editor/plugins/baked_light_baker.cpp msgid "Parsing Geometry" -msgstr "" +msgstr "Parse Geometrie" #: tools/editor/plugins/baked_light_baker.cpp msgid "Fixing Lights" -msgstr "" +msgstr "Behebe Lampen" #: tools/editor/plugins/baked_light_baker.cpp msgid "Making BVH" -msgstr "" +msgstr "Erstelle BVH" #: tools/editor/plugins/baked_light_baker.cpp msgid "Creating Light Octree" @@ -2954,7 +3127,7 @@ msgstr "" #: tools/editor/plugins/baked_light_baker.cpp msgid "Post-Processing Texture #" -msgstr "" +msgstr "Nachbearbeiten von Textur #" #: tools/editor/plugins/baked_light_editor_plugin.cpp msgid "BakedLightInstance does not contain a BakedLight resource." @@ -2971,39 +3144,40 @@ msgstr "" #: tools/editor/plugins/camera_editor_plugin.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Preview" -msgstr "" +msgstr "Vorschau" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" -msgstr "" +msgstr "Einrasten konfigurieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Offset:" -msgstr "" +msgstr "Gitterverschiebung:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Step:" -msgstr "" +msgstr "Gitterabstand:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" -msgstr "" +msgstr "Rotationsverschiebung:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "" +msgstr "Rotationsabstand:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" -msgstr "" +msgstr "Mittelpunkt bewegen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp +#, fuzzy msgid "Move Action" -msgstr "" +msgstr "Bewegungsaktion" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" @@ -3015,11 +3189,11 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Change Anchors" -msgstr "" +msgstr "Ankerpunkte ändern" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom (%):" -msgstr "" +msgstr "Vergrößerung (%):" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" @@ -3027,7 +3201,7 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Select Mode (Q)" -msgstr "" +msgstr "Auswahlmodus (Q)" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Drag: Rotate" @@ -3040,6 +3214,8 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" +"Drücken Sie 'V', um den Mittelpunkt zu ändern, 'Shift+V', um den Mittelpunkt " +"(während der Bewegung) zu verschieben." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" @@ -3048,12 +3224,12 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Move Mode (W)" -msgstr "" +msgstr "Bewegungsmodus (W)" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Mode (E)" -msgstr "" +msgstr "Rotationsmodus (E)" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp @@ -3061,10 +3237,13 @@ msgid "" "Show a list of all objects at the position clicked\n" "(same as Alt+RMB in select mode)." msgstr "" +"Zeige eine Liste aller Objekte, die sich an der angeklickten Position " +"befinden\n" +"(equivalent zu Alt+RMT im Auswahlmodus)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "" +msgstr "Klicken Sie, um den Rotationsmittelpunkt des Objekts zu ändern." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" @@ -3073,18 +3252,21 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." msgstr "" +"Das ausgewählte Objekt an seiner Position sperren (kann nicht bewegt werden)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "" +msgstr "Das ausgewählte Objekt entsperren (kann bewegt werden)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." msgstr "" +"Versichert, dass die untergeordnete Knoten des Objektes nicht auswählbar " +"sind." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Restores the object's children's ability to be selected." -msgstr "" +msgstr "Stellt die Eigenschaft des Objektes wieder her, ausgewählt zu werden." #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp @@ -3092,51 +3274,51 @@ msgstr "" #: tools/editor/plugins/shader_editor_plugin.cpp #: tools/editor/project_manager.cpp msgid "Edit" -msgstr "" +msgstr "Bearbeiten" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Use Snap" -msgstr "" +msgstr "Einrasten aktivieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Show Grid" -msgstr "" +msgstr "Raster anzeigen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Rotation Snap" -msgstr "" +msgstr "Einrasten für Rotation aktivieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap Relative" -msgstr "" +msgstr "Relatives Einrasten aktivieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "" +msgstr "Einrasten konfigurieren.." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" -msgstr "" +msgstr "Einrasten an Pixeln aktivieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Expand to Parent" -msgstr "" +msgstr "Auf übergeordneten Knoten ausdehnen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton.." -msgstr "" +msgstr "Skelett.." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" -msgstr "" +msgstr "Knochen erstellen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Clear Bones" -msgstr "" +msgstr "Knochen entfernen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Make IK Chain" @@ -3149,19 +3331,19 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "View" -msgstr "" +msgstr "Ansicht" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom In" -msgstr "" +msgstr "Vergrößern" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom Out" -msgstr "" +msgstr "Verkleinern" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom Reset" -msgstr "" +msgstr "Vergrößerung zurücksetzen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom Set.." @@ -3169,27 +3351,27 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" -msgstr "" +msgstr "Auswahl zentrieren" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Frame Selection" -msgstr "" +msgstr "Auswahl einrahmen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Anchor" -msgstr "" +msgstr "Anker" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Keys (Ins)" -msgstr "" +msgstr "Schlüsselbilder einfügen (Einfg)" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key" -msgstr "" +msgstr "Schlüsselbild einfügen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Insert Key (Existing Tracks)" -msgstr "" +msgstr "Schlüsselbild einfügen (existierender Track)" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Copy Pose" @@ -3201,18 +3383,18 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Set a Value" -msgstr "" +msgstr "Einen Wert setzen" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Snap (Pixels):" -msgstr "" +msgstr "Einrasten (Pixel):" #: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create Poly" -msgstr "" +msgstr "Polygon erstellen" #: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp #: tools/editor/plugins/collision_polygon_editor_plugin.cpp @@ -3221,7 +3403,7 @@ msgstr "" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Edit Poly" -msgstr "" +msgstr "Polygon bearbeiten" #: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp #: tools/editor/plugins/collision_polygon_editor_plugin.cpp @@ -3230,17 +3412,17 @@ msgstr "" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Edit Poly (Remove Point)" -msgstr "" +msgstr "Polygon bearbeiten (Punkt entfernen)" #: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "" +msgstr "Polygon neu von vorne erstellen." #: tools/editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" -msgstr "" +msgstr "Polygon3D erstellen" #: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp msgid "Set Handle" @@ -3248,12 +3430,12 @@ msgstr "" #: tools/editor/plugins/color_ramp_editor_plugin.cpp msgid "Add/Remove Color Ramp Point" -msgstr "" +msgstr "Farbverlaufspunkt hinzufügen/entfernen" #: tools/editor/plugins/color_ramp_editor_plugin.cpp #: tools/editor/plugins/shader_graph_editor_plugin.cpp msgid "Modify Color Ramp" -msgstr "" +msgstr "Farbverlauf anpassen" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Creating Mesh Library" @@ -3261,41 +3443,41 @@ msgstr "" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Thumbnail.." -msgstr "" +msgstr "Vorschau.." #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" -msgstr "" +msgstr "%d entfernen?" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Add Item" -msgstr "" +msgstr "Element hinzufügen" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove Selected Item" -msgstr "" +msgstr "Ausgewähltes Element entfernen" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Import from Scene" -msgstr "" +msgstr "Aus Szene importieren" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "Aus Szene aktialisieren" #: tools/editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" -msgstr "" +msgstr "Element %d" #: tools/editor/plugins/item_list_editor_plugin.cpp msgid "Items" -msgstr "" +msgstr "Elemente" #: tools/editor/plugins/item_list_editor_plugin.cpp msgid "Item List Editor" -msgstr "" +msgstr "Auflistungseditor" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp msgid "Create Occluder Polygon" @@ -3304,22 +3486,22 @@ msgstr "" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Edit existing polygon:" -msgstr "" +msgstr "Bestehendes Polygon bearbeiten:" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "" +msgstr "LMT: Punkt verschieben." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "" +msgstr "Strg+LMT: Segment aufteilen." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "" +msgstr "RMT: Punkt entfernen." #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -3335,7 +3517,7 @@ msgstr "" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "" +msgstr "Dies funktioniert nicht am Hauptknoten der Szene!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3343,7 +3525,7 @@ msgstr "" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Shape" -msgstr "" +msgstr "Konvexe Form erstellen" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Navigation Mesh" @@ -3459,15 +3641,15 @@ msgstr "" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "X-Axis" -msgstr "" +msgstr "X-Achse" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Y-Axis" -msgstr "" +msgstr "Y-Achse" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Z-Axis" -msgstr "" +msgstr "Z-Achse" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" @@ -3475,15 +3657,15 @@ msgstr "" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "" +msgstr "Zufällige Rotation:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" -msgstr "" +msgstr "Zufälliges Kippen:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Random Scale:" -msgstr "" +msgstr "Zufällige Skalieren:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Populate" @@ -3499,11 +3681,11 @@ msgstr "" #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "Error loading image:" -msgstr "" +msgstr "Fehler beim Laden des Bilds:" #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "" +msgstr "Keine Pixel mit einer Transzparenz > 128 im Bild.." #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "Set Emission Mask" @@ -3523,19 +3705,19 @@ msgstr "" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry." -msgstr "" +msgstr "Knoten enthält keine Geometrie." #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Node does not contain geometry (faces)." -msgstr "" +msgstr "Knoten enthält keine Geometrie (Flächen)." #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Faces contain no area!" -msgstr "" +msgstr "Flächen enthalten keinen Bereich!" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "No faces!" -msgstr "" +msgstr "Keine Flächen!" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Generate AABB" @@ -3567,24 +3749,24 @@ msgstr "" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Surface" -msgstr "" +msgstr "Oberfläche" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Volume" -msgstr "" +msgstr "Volumen" #: tools/editor/plugins/path_2d_editor_plugin.cpp msgid "Remove Point from Curve" -msgstr "" +msgstr "Punkt von Kurve entfernen" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Add Point to Curve" -msgstr "" +msgstr "Punkt zu Kurve hinzufügen" #: tools/editor/plugins/path_2d_editor_plugin.cpp msgid "Move Point in Curve" -msgstr "" +msgstr "Punkt auf Kurve verschieben" #: tools/editor/plugins/path_2d_editor_plugin.cpp msgid "Move In-Control in Curve" @@ -3597,70 +3779,70 @@ msgstr "" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Select Points" -msgstr "" +msgstr "Punkte auswählen" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Shift+Drag: Select Control Points" -msgstr "" +msgstr "Shift+Ziehen: Kontrollpunkte auswählen" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Click: Add Point" -msgstr "" +msgstr "Klicken: Punkt hinzufügen" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Right Click: Delete Point" -msgstr "" +msgstr "Rechtsklick: Punkt löschen" #: tools/editor/plugins/path_2d_editor_plugin.cpp msgid "Select Control Points (Shift+Drag)" -msgstr "" +msgstr "Kontrollpunkte auswählen (Shift+Ziehen)" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Add Point (in empty space)" -msgstr "" +msgstr "Punkt hinzufügen (in leerem Raum)" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Split Segment (in curve)" -msgstr "" +msgstr "Segment aufteilen (in Kurve)" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Delete Point" -msgstr "" +msgstr "Punk löschen" #: tools/editor/plugins/path_2d_editor_plugin.cpp #: tools/editor/plugins/path_editor_plugin.cpp msgid "Close Curve" -msgstr "" +msgstr "Kurve schließen" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Curve Point #" -msgstr "" +msgstr "Kurvenpunkt #" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve Point Pos" -msgstr "" +msgstr "Position des Kurvenpunkts setzen" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve In Pos" -msgstr "" +msgstr "Position der Eingangskurve setzen" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Set Curve Out Pos" -msgstr "" +msgstr "Position der Ausgangskurve setzen" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Split Path" -msgstr "" +msgstr "Pfad aufteilen" #: tools/editor/plugins/path_editor_plugin.cpp msgid "Remove Path Point" -msgstr "" +msgstr "Pfadpunkt entfernen" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Create UV Map" @@ -3676,31 +3858,31 @@ msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Point" -msgstr "" +msgstr "Punkt verschieben" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Ctrl: Rotate" -msgstr "" +msgstr "Strg: Rotieren" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift: Move All" -msgstr "" +msgstr "Shift: Alle verschieben" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Shift+Ctrl: Scale" -msgstr "" +msgstr "Shift+Strg: Skalieren" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Move Polygon" -msgstr "" +msgstr "Polygon verschieben" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Rotate Polygon" -msgstr "" +msgstr "Polygon rotieren" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Scale Polygon" -msgstr "" +msgstr "Polygon skalieren" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp msgid "Polygon->UV" @@ -3717,21 +3899,21 @@ msgstr "" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "Einrasten" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "Einrasten aktivieren" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Grid" -msgstr "" +msgstr "Raster" #: tools/editor/plugins/resource_preloader_editor_plugin.cpp msgid "ERROR: Couldn't load resource!" -msgstr "" +msgstr "FEHLER: Ressource konnte nicht geladen werden!" #: tools/editor/plugins/resource_preloader_editor_plugin.cpp msgid "Add Resource" @@ -3832,7 +4014,8 @@ msgstr "" msgid "Save Theme As.." msgstr "" -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Datei" @@ -3904,11 +4087,7 @@ msgid "Auto Indent" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" +msgid "Soft Reload Script" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4001,7 +4180,7 @@ msgid "Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +msgid "Contextual Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4208,10 +4387,6 @@ msgid "Transform Aborted." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "" @@ -4224,6 +4399,10 @@ msgid "Z-Axis Transform." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "" @@ -4364,9 +4543,8 @@ msgid "Scale Mode (R)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform" -msgstr "Übergänge" +msgstr "Transformation" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Local Coords" @@ -4565,14 +4743,12 @@ msgid "StyleBox Preview:" msgstr "" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Im Editor öffnen" +msgstr "Texturbegrenzungseditor" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Im Editor öffnen" +msgstr "Skalierungsbegrenzungseditor" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" @@ -4606,7 +4782,12 @@ msgid "Remove Class Items" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" +#, fuzzy +msgid "Create Empty Template" +msgstr "Lade Export Templates" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp @@ -4693,31 +4874,39 @@ msgid "Erase TileMap" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "" +#, fuzzy +msgid "Erase selection" +msgstr "Auswahl einrahmen" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "" +#, fuzzy +msgid "Find tile" +msgstr "Finde" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" +msgid "Transpose" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "" +#, fuzzy +msgid "Mirror X" +msgstr "Fehler" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" +#, fuzzy +msgid "Mirror Y" +msgstr "Fehler" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" +msgid "Pick Tile" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" +msgid "Select" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp @@ -5024,7 +5213,7 @@ msgstr "Projekt exportieren" #: tools/editor/project_export.cpp msgid "Export Preset:" -msgstr "Exportvorlage" +msgstr "Exportvorlage:" #: tools/editor/project_manager.cpp msgid "Invalid project path, the path must exist!" @@ -5084,63 +5273,61 @@ msgstr "" #: tools/editor/project_manager.cpp msgid "Unnamed Project" -msgstr "" +msgstr "Unbenanntes Projekt" #: tools/editor/project_manager.cpp msgid "Are you sure to open more than one projects?" -msgstr "" +msgstr "Wollen Sie wirklich mehr als ein Projekt öffnen?" #: tools/editor/project_manager.cpp msgid "Are you sure to run more than one projects?" -msgstr "" +msgstr "Wollen Sie wirklich mehr als ein Projekt ausführen?" #: tools/editor/project_manager.cpp msgid "Remove project from the list? (Folder contents will not be modified)" msgstr "" +"Das Projekt aus der Liste entfernen? (Inhalte des Projektordners werden " +"nicht geändert)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Projekt exportieren" +msgstr "Projektmanager" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Projekt exportieren" +msgstr "Projektliste" #: tools/editor/project_manager.cpp msgid "Run" -msgstr "" +msgstr "Ausführen" #: tools/editor/project_manager.cpp msgid "Scan" -msgstr "" +msgstr "Scannen" #: tools/editor/project_manager.cpp msgid "New Project" -msgstr "" +msgstr "Neues Projekt" #: tools/editor/project_manager.cpp msgid "Exit" -msgstr "" +msgstr "Verlassen" #: tools/editor/project_settings.cpp msgid "Key " msgstr "" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Button" -msgstr "Schaltfläche" +msgstr "Joysticktaste" #: tools/editor/project_settings.cpp msgid "Joy Axis" msgstr "" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Mouse Button" -msgstr "Mittlere Taste" +msgstr "Maus-Taste" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5164,7 +5351,7 @@ msgstr "" #: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp msgid "Press a Key.." -msgstr "Drücke eine Taste" +msgstr "Drücke eine Taste.." #: tools/editor/project_settings.cpp msgid "Mouse Button Index:" @@ -5259,9 +5446,8 @@ msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "Aktion '%s' existiert bereits!" +msgstr "Autoload '%s' existiert bereits!" #: tools/editor/project_settings.cpp msgid "Rename Autoload" @@ -5557,8 +5743,8 @@ msgstr "" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5728,6 +5914,10 @@ msgid "Load As Placeholder" msgstr "" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Im Editor öffnen" @@ -5784,9 +5974,8 @@ msgid "View Owners.." msgstr "" #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Kopieren" +msgstr "Pfad kopieren" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -5862,7 +6051,7 @@ msgstr "Ungültiger Pfad!" #: tools/editor/script_create_dialog.cpp msgid "Could not create script in filesystem." -msgstr "Skript konnte nicht im Dateisystem erstellt werden!" +msgstr "Skript konnte nicht im Dateisystem erstellt werden." #: tools/editor/script_create_dialog.cpp msgid "Path is empty" @@ -5874,7 +6063,7 @@ msgstr "Pfad ist nicht lokal" #: tools/editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "Ungültiger Pfad!" +msgstr "Ungültiger Pfad" #: tools/editor/script_create_dialog.cpp msgid "File exists" @@ -6064,11 +6253,14 @@ msgstr "" msgid "Change Notifier Extents" msgstr "" +#~ msgid "Binds (Extra Params):" +#~ msgstr "Bindungen (Extra Parameter):" + +#~ msgid "Method In Node:" +#~ msgstr "Methode in Node:" + #~ msgid "Edit Connections.." #~ msgstr "Bearbeite Verbindungen.." -#~ msgid "Connections:" -#~ msgstr "Verbindungen:" - #~ msgid "Plugin List:" #~ msgstr "Plugin Liste:" diff --git a/tools/translations/de_CH.po b/tools/translations/de_CH.po new file mode 100644 index 0000000000..eb5e1be880 --- /dev/null +++ b/tools/translations/de_CH.po @@ -0,0 +1,6107 @@ +# Swiss High German translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# Christian Fisch <christian.fiesel@gmail.com>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-06-12 13:27+0000\n" +"Last-Translator: Christian Fisch <christian.fiesel@gmail.com>\n" +"Language-Team: Swiss High German <https://hosted.weblate.org/projects/godot-" +"engine/godot/de_CH/>\n" +"Language: de_CH\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +#, fuzzy +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" +"Damit das AnimatedSprite node Frames anzeigen kann, muss eine SpriteFrame " +"Resource unter Frames gesetzt sein." + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" +"Nur ein sichtbares CanvasModulate ist pro Szene (oder ein Satz von " +"instanzierten Szenen) erlaubt. Das erste erstellte gewinnt der Rest wird " +"ignoriert." + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "Ein leeres CollisionPolygon2D hat keinen Einfluss au die Kollision." + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" +"NavigationPolygonInstance muss ein Kind oder Grosskind vom Navigation2D Node " +"sein. Es liefert nur Navigationsdaten." + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "Okay" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "Bild bewegen/einfügen" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "Anim Bilder duplizieren" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "Anim Bilder löschen" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "Anim Bild hinzufügen" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "Anim Bilder bewegen" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "Willst du eine neue Ebene inklusiv Bild in %s einfügen?" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "Erstelle %d in neuer Ebene inklusiv Bild?" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "Anim Ebene und Bild einfügen" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "Anim Bild einfügen" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "Anim verlängern" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "Aktivieren des Bildeditors mit einem click auf die jenigen." + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "Bild" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "Ungültige Bilder löschen" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/import_settings.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Conect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp +#: tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined.\n" +"Select one from \"Project Settings\" under the 'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "Ja" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Open Project Manager? \n" +"(Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "Szene '%s' hat kapute Abhängigkeiten:" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s) or folder(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +#: tools/editor/import_settings.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "Sieht so aus als hättest du das Schlüsselwort \"tool\" vergessen?" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/import_settings.cpp +msgid "Imported Resources" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Name" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Custom Root Node Type:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Auto" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "The Following Files are Missing:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys (Ins)" +msgstr "Bilder (innerhalb) einfügen" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "Bild einfügen" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "Bild in bestehende Ebene einfügen" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "\"keying\" ist deaktiviert (Bild nicht hinzugefügt)." + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "Animationsbild eingefügt." + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top (Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom (Shift+Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left (Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right (Shift+Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front (Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear (Shift+Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Selection (F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view (Ctrl+Shift+F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default sRGB" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Scale Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "" +"No texture in this node.\n" +"Set a texture to be able to edit region." +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Key " +msgstr "Taste " + +#: tools/editor/project_settings.cpp +msgid "Joy Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Axis" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "Taste drücken.." + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "Okay :(" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "Okay" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Inherit Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Inspector" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Scene Tree:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Object Properties: " +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" diff --git a/tools/translations/es.po b/tools/translations/es.po index 790f13f090..3f727d18c3 100644 --- a/tools/translations/es.po +++ b/tools/translations/es.po @@ -1,21 +1,67 @@ -# LANGUAGE translation of the Godot Engine editor +# Spanish translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Lisandro Lorea <lisandrolorea@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_AR\n" +"PO-Revision-Date: 2016-06-14 14:10+0000\n" +"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" +"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/" +"godot/es/>\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" +"No hay suficientes bytes para decodificar bytes, o el formato es inválido." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "el argumento step es cero!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "No es un script con una instancia" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "No está basado en un script" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "No está basado en un archivo de recursos" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "Formato de diccionario de instancias inválido (@path faltante)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" +"Formato de diccionario de instancias inválido (no se puede cargar el script " +"en @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" +"Formato de diccionario de instancias inválido (script inválido en @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "Diccionario de instancias inválido (subclases inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -23,7 +69,7 @@ msgid "" "order for AnimatedSprite to display frames." msgstr "" "Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' " -"para que AnimatedSprite puda mostrar frames." +"para que AnimatedSprite pueda mostrar frames." #: scene/2d/canvas_modulate.cpp msgid "" @@ -42,7 +88,7 @@ msgid "" msgstr "" "CollisionPolylgon2D solo sirve para proveer de un collision shape a un nodo " "derivado de CollisionObject2D. Favor de usarlo solo como un hijo de Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape. " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -115,7 +161,7 @@ msgstr "" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" -"PathFollow2D solo funciona cuando esta seteado como hijo de un nodo Path2D" +"PathFollow2D solo funciona cuando está seteado como hijo de un nodo Path2D." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -131,16 +177,16 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. " "Dicho Viewport debe ser seteado a modo 'render target'." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "El Viewport seteado en la propiedad path debe ser seteado como 'render " "target' para que este sprite funcione." @@ -150,8 +196,8 @@ msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D funciona mejor cuando se usa con la raÃz de escena editada " -"directamente como padre." +"VisibilityEnable2D funciona mejor cuando se usa con la raÃz de escena " +"editada directamente como padre." #: scene/3d/body_shape.cpp msgid "" @@ -192,8 +238,8 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" "NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo " "provee datos de navegación." @@ -214,13 +260,12 @@ msgstr "" "de modo que SpatialSamplePlayer puede reproducir sonido." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' " -"para que AnimatedSprite puda mostrar frames." +"Un recurso SpriteFrames debe ser creado o asignado en la propiedad 'Frames' " +"para que AnimatedSprite3D pueda mostrar frames." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -244,7 +289,7 @@ msgstr "El Archivo Existe, Sobreescribir?" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Recognized" -msgstr "Todos Reconocidos" +msgstr "Todas Reconocidas" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Files (*)" @@ -258,24 +303,20 @@ msgid "Open" msgstr "Abrir" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Abrir Archivo(s) de Muestra" +msgstr "Abrir un Archivo" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Abrir Archivo(s) de Muestra" +msgstr "Abrir Archivo(s)" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Elegà un Directorio" +msgstr "Abrir un Directorio" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Elegà un Directorio" +msgstr "Abrir un Archivo o Directorio" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -297,7 +338,7 @@ msgstr "Crear Carpeta" #: tools/editor/io_plugins/editor_font_import_plugin.cpp #: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp msgid "Path:" -msgstr "Path:" +msgstr "Ruta:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Directories & Files:" @@ -339,7 +380,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -402,7 +443,8 @@ msgstr "Pegar" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Seleccionar Todo" @@ -422,8 +464,8 @@ msgstr "Deshacer" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "Los popups se esconderán por defecto a menos que llames a popup() o " "cualquiera de las funciones popup*(). Sin embargo, no hay problema con " @@ -538,6 +580,18 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "ContÃnuo" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "Discreto" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "Trigger" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "Agregar Clave de Anim" @@ -645,6 +699,10 @@ msgid "Change Anim Loop" msgstr "Cambiar Loop de Anim" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "Cambiar Interpolación de Loop de Anim" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "Crear Clave de Valor Tipado para Anim" @@ -685,6 +743,10 @@ msgid "Enable/Disable looping in animation." msgstr "Activar/Desactivar loopeo en la animación." #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "Activar/Desactivar interpolación al loopear animación." + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "Agregar nuevos tracks." @@ -805,22 +867,20 @@ msgid "Site:" msgstr "Sitio:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Exportar.." +msgstr "Soporte.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Oficial" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Comunidad" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Configuración" +msgstr "Testeo" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -951,13 +1011,9 @@ msgid "Method in target Node must be specified!" msgstr "El método en el Nodo objetivo debe ser especificado!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "Conectar a Nodo:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "Binds (Parametros Extra):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -967,17 +1023,22 @@ msgstr "Agregar" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Quitar" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Path al Nodo:" +msgid "Add Extra Call Argument:" +msgstr "Agregar Argumento de Llamada Extra:" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "Argumentos de Llamada Extras:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Método En el Nodo:" +msgid "Path to Node:" +msgstr "Ruta al Nodo:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -1000,6 +1061,10 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar '%s' a '%s'" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "Conectando Señal:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "Crear Subscripción" @@ -1013,9 +1078,8 @@ msgid "Disconnect" msgstr "Desconectar" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Señales:" +msgstr "Señales" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1059,7 +1123,7 @@ msgstr "Recursos" #: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp #: tools/editor/project_settings.cpp msgid "Path" -msgstr "Path" +msgstr "Ruta" #: tools/editor/dependency_editor.cpp msgid "Dependencies:" @@ -1141,7 +1205,8 @@ msgid "Delete selected files?" msgstr "Eliminar archivos seleccionados?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -1175,7 +1240,7 @@ msgstr "Recientes:" #: tools/editor/editor_file_dialog.cpp msgid "Preview:" -msgstr "Preview:" +msgstr "Vista Previa:" #: tools/editor/editor_file_system.cpp msgid "Cannot go into subdir:" @@ -1275,9 +1340,8 @@ msgid "Setting Up.." msgstr "Configurando.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "Salida" +msgstr " Salida:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1391,9 +1455,8 @@ msgid "Copy Params" msgstr "Copiar Params" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Pegar Frame" +msgstr "Pegar Parametros" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1413,9 +1476,8 @@ msgid "Make Sub-Resources Unique" msgstr "Crear Sub-Recurso Unico" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Abrir Escena" +msgstr "Abrir en la Ayuda" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1426,6 +1488,8 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"No se ha definido ninguna escena principal.\n" +"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1497,7 +1561,7 @@ msgstr "Escena actual sin guardar. Abrir de todos modos?" #: tools/editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "No se puede volver a cargar una escena que nunca se guardó. " +msgstr "No se puede volver a cargar una escena que nunca se guardó." #: tools/editor/editor_node.cpp msgid "Revert" @@ -1523,11 +1587,12 @@ msgstr "Ugh" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" -"Error al cargar la escena, debe estar dentro de un path de proyecto. Usa " -"'Importar' para abrir la escena, luego guardala dentro del path del proyecto." +"Error al cargar la escena, debe estar dentro de la ruta del proyecto. Usa " +"'Importar' para abrir la escena, luego guardala dentro de la ruta del " +"proyecto." #: tools/editor/editor_node.cpp msgid "Error loading scene." @@ -1542,9 +1607,8 @@ msgid "Save Layout" msgstr "Guardar Layout" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Guardar Layout" +msgstr "Cargar Layout" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1576,6 +1640,14 @@ msgid "Go to previously opened scene." msgstr "Ir a la escena abierta previamente." #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "Modo Pantalla Completa" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "Modo Sin Distracciones" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "Operaciones con archivos de escena." @@ -1608,9 +1680,8 @@ msgid "Open Recent" msgstr "Abrir Reciente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Busqueda Rapida en Archivo.." +msgstr "Filtrado Rapido de Archivos.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1682,9 +1753,8 @@ msgid "Export" msgstr "Exportar" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Reproducir el proyecto (F5)." +msgstr "Reproducir el proyecto." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1696,14 +1766,12 @@ msgid "Pause the scene" msgstr "Pausar la escena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Pausar la escena" +msgstr "Pausar la Escena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Parar la escena (F8)." +msgstr "Parar la escena." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1711,14 +1779,12 @@ msgid "Stop" msgstr "Detener" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Reproducir la escena editada (F6)." +msgstr "Reproducir la escena editada." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Guardar Escena" +msgstr "Reproducir Escena" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1729,19 +1795,20 @@ msgid "Debug options" msgstr "Opciones de debugueo" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" msgstr "Hacer Deploy con Debug Remoto" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"Al exportar o hacer deploy, el ejecutable resultante tratara de contectarse " +"a la IP de esta computadora de manera de ser debugueado." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Depoy Pequeño con Network FS" #: tools/editor/editor_node.cpp msgid "" @@ -1749,9 +1816,15 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"Cuando esta opción está activa, exportar o hacer deploy producirá un " +"ejecutable mÃnimo.\n" +"El sistema de archivos sera proveido desde el proyecto por el editor sobre " +"la red.\n" +"En Android, deploy usará el cable USB para mejor performance. Esta opción " +"acelera el testeo para juegos con footprint grande." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1762,6 +1835,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Los Collision shapes y nodos raycast (para 2D y 3D) seran visibiles durante " +"la ejecución del juego cuando esta opción queda activada." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1772,10 +1847,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Los meshes de navegación y los polÃgonos seran visibles durante la ejecución " +"del juego si esta opción queda activada." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Sincronizar Cambios de Escena" #: tools/editor/editor_node.cpp msgid "" @@ -1784,11 +1861,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Cuando esta opción este encendida, cualquier cambio hecho a la escena en el " +"editor sera replicado en el juego en ejecución.\n" +"Cuando se usa remotamente en un dispositivo, esto es mas eficiente con un " +"sistema de archivos remoto." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Actualizar Cambios" +msgstr "Actualizar Cambios en Scripts" #: tools/editor/editor_node.cpp msgid "" @@ -1797,6 +1877,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Cuando esta opción esta activa, cualquier script que se guarde sera vuelto a " +"cargar en el juego en ejecución.\n" +"Cuando se use remotamente en un dispositivo, esto es mas eficiente con un " +"sistema de archivos de red." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1850,9 +1934,7 @@ msgstr "Cargar un recurso existente desde disco y editarlo." msgid "Save the currently edited resource." msgstr "Guardar el recurso editado actualmente." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "Guardar Como.." @@ -2035,7 +2117,7 @@ msgstr "Seleccionar Nodo(s) para Importar" #: tools/editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "Path a la Escena:" +msgstr "Ruta a la Escena:" #: tools/editor/editor_sub_scene.cpp msgid "Import From Node:" @@ -2060,41 +2142,39 @@ msgid "Imported Resources" msgstr "Importar Recursos" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Sin elementos para importar!" +msgstr "Sin máscaras de bits para importar!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path is empty." -msgstr "El path de destino está vacÃo." +msgstr "La ruta de destino está vacÃa." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must be a complete resource path." -msgstr "El path de destino debe ser un path de recursos completo." +msgstr "La ruta de destino debe ser una ruta de recursos completa." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must exist." -msgstr "El path de destino debe existir." +msgstr "La ruta de destino debe existir." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Save path is empty!" -msgstr "El path de guardado esta vacÃo!" +msgstr "La ruta de guardado esta vacÃa!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Importar Texturas" +msgstr "Importar BitMasks" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2108,7 +2188,7 @@ msgstr "Textura(s) de Origen:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Target Path:" -msgstr "Path de Destino:" +msgstr "Ruta de Destino:" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -2121,7 +2201,7 @@ msgstr "Aceptar" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Máscara de Bits" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2137,7 +2217,7 @@ msgstr "No se puede cargar/procesar la tipografÃa de origen." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Couldn't save font." -msgstr "No se pudo guardar la tipografÃa" +msgstr "No se pudo guardar la tipografÃa." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Source Font:" @@ -2176,7 +2256,7 @@ msgid "" "instead." msgstr "" "Este archivo ya es un archivo de tipografÃas de Godot, por favor suministrar " -"un archivo tipo BMFont" +"un archivo tipo BMFont." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Failed opening as BMFont file." @@ -2289,7 +2369,7 @@ msgstr "Filtros" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source path is empty." -msgstr "El path de origen esta vacio." +msgstr "La ruta de origen esta vacÃa." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script." @@ -2503,8 +2583,8 @@ msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" -"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los archivos " -"png/jpg al proyecto." +"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los " +"archivos png/jpg al proyecto." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." @@ -2636,18 +2716,16 @@ msgid "MultiNode Set" msgstr "Setear MultiNodo" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "Nodo Mix" +msgstr "Nodo" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Grupos:" +msgstr "Grupos" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Seleccionar un Nodo para editar Señales y Grupos." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2759,12 +2837,20 @@ msgid "Create new animation in player." msgstr "Crear nueva animación en el reproductor." #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "Cargar una animación desde disco." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "Cargar una animación desde disco." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "Guardar la animación actual." +msgstr "Guardar la animación actual" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "Guardar Como" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -3458,7 +3544,7 @@ msgstr "No se especificó mesh de origen (y MultiMesh no contiene ningún Mesh). #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "Mesh de origen inválido (path inválido)." +msgstr "Mesh de origen inválido (ruta inválida)." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." @@ -3474,7 +3560,7 @@ msgstr "Ninguna superficie de origen especificada." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "La superficie de origen es inválida (path inválido)." +msgstr "La superficie de origen es inválida (ruta inválida)." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." @@ -3891,7 +3977,8 @@ msgstr "Importar Tema" msgid "Save Theme As.." msgstr "Guardar Tema Como.." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Archivo" @@ -3963,13 +4050,8 @@ msgid "Auto Indent" msgstr "Auto Indentar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Reload Tool Script" -msgstr "Crear Script de Nodo" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "Recarga Soft de Script" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4061,8 +4143,8 @@ msgid "Help" msgstr "Ayuda" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" -msgstr "Contextual" +msgid "Contextual Help" +msgstr "Ayuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4094,7 +4176,7 @@ msgstr "Ir a anterior documento editado." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "Ir a siguiente documento editado" +msgstr "Ir a siguiente documento editado." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Create Script" @@ -4270,20 +4352,20 @@ msgid "Transform Aborted." msgstr "Transformación Abortada." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "Ver Transformación en Plano." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "Transformación en Eje-X" +msgstr "Transformación en Eje-X." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Transformación en Eje-Y" +msgstr "Transformación en Eje-Y." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "Transformación en Eje-Z" +msgstr "Transformación en Eje-Z." + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "Ver Transformación en Plano." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." @@ -4295,7 +4377,7 @@ msgstr "Torando %s grados." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "Vista Inferior" +msgstr "Vista Inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -4303,7 +4385,7 @@ msgstr "Fondo" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "Vista Superior" +msgstr "Vista Superior." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -4363,7 +4445,7 @@ msgstr "Fondo (Shift+Num7)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Left (Num3)" -msgstr "Left (Num3)" +msgstr "Izquierda (Num3)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Right (Shift+Num3)" @@ -4626,20 +4708,20 @@ msgid "StyleBox Preview:" msgstr "Vista Previa de StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Editor de Regiones de Sprites" +msgstr "Editor de Regiones de Texturas" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Editor de Regiones de Sprites" +msgstr "Editor de Regiones de Escalado" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"Sin textura en este nodo.\n" +"Asigná una textura para poder editar la región." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -4667,8 +4749,12 @@ msgid "Remove Class Items" msgstr "Quitar Items de Clases" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "Crear Template" +msgid "Create Empty Template" +msgstr "Crear Template VacÃo" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "Crear Template de Editor VacÃo" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4754,32 +4840,36 @@ msgid "Erase TileMap" msgstr "Borrar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Balde" +msgid "Erase selection" +msgstr "Eliminar Selección" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Elegir Tile" +msgid "Find tile" +msgstr "Encontrar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Seleccionar" +msgid "Transpose" +msgstr "Transponer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "Eliminar Selección" +msgid "Mirror X" +msgstr "Espejar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "Transponer" +msgid "Mirror Y" +msgstr "Espejar Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Espejar X (A)" +msgid "Bucket" +msgstr "Balde" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Espejar Y (S)" +msgid "Pick Tile" +msgstr "Elegir Tile" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "Seleccionar" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -4928,8 +5018,8 @@ msgstr "" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Filtros para excluir de la exportación (separados por comas, ej: *.json, *." -"txt):" +"Filtros para excluir de la exportación (separados por comas, ej: *.json, " +"*.txt):" #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." @@ -5166,14 +5256,12 @@ msgstr "" "modificados)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Nombre del Proyecto:" +msgstr "Gestor de Proyectos" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Salir a Listado de Proyecto" +msgstr "Listado de Proyectos" #: tools/editor/project_manager.cpp msgid "Run" @@ -5193,7 +5281,7 @@ msgstr "Salir" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "Clave" +msgstr "Tecla " #: tools/editor/project_settings.cpp msgid "Joy Button" @@ -5330,14 +5418,12 @@ msgstr "" "existente." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "La acción '%s' ya existe!" +msgstr "Autocargar '%s' ya existe!" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Quitar Autoload" +msgstr "Renombrar Autoload" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5630,8 +5716,8 @@ msgstr "Ok" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" "No se puede instanciar la escena '%s' porque la escena actual existe dentro " "de uno de sus nodos." @@ -5809,6 +5895,10 @@ msgid "Load As Placeholder" msgstr "Cargar Como Placeholder" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "Descartar Instanciado" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir en Editor" @@ -5865,9 +5955,8 @@ msgid "View Owners.." msgstr "Ver Dueños.." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Copiar Params" +msgstr "Copiar Ruta" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -6044,7 +6133,7 @@ msgstr "Arbos de Escenas en Vivo:" #: tools/editor/script_editor_debugger.cpp msgid "Remote Object Properties: " -msgstr "Propiedades de Objeto Remoto:" +msgstr "Propiedades de Objeto Remoto: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" @@ -6108,7 +6197,7 @@ msgstr "Setear Desde Arbol" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Atajos" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6146,12 +6235,18 @@ msgstr "Cambiar Largo de Shape Rayo" msgid "Change Notifier Extents" msgstr "Cambiar Alcances de Notificadores" +#~ msgid "Binds (Extra Params):" +#~ msgstr "Binds (Parametros Extra):" + +#~ msgid "Method In Node:" +#~ msgstr "Método En el Nodo:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "Volver a Cargar Script de Herramientas (Soft)" + #~ msgid "Edit Connections.." #~ msgstr "Editar Conecciones.." -#~ msgid "Connections:" -#~ msgstr "Conecciones:" - #~ msgid "Set Params" #~ msgstr "Setear Params" diff --git a/tools/translations/es_AR.po b/tools/translations/es_AR.po index 790f13f090..e9dc591b98 100644 --- a/tools/translations/es_AR.po +++ b/tools/translations/es_AR.po @@ -1,21 +1,67 @@ -# LANGUAGE translation of the Godot Engine editor +# Spanish (Argentina) translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# Lisandro Lorea <lisandrolorea@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" +"PO-Revision-Date: 2016-06-19 12:39+0000\n" +"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n" +"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects" +"/godot-engine/godot/es_AR/>\n" "Language: es_AR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" +"No hay suficientes bytes para decodificar bytes, o el formato es inválido." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "el argumento step es cero!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "No es un script con una instancia" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "No está basado en un script" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "No está basado en un archivo de recursos" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "Formato de diccionario de instancias inválido (@path faltante)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" +"Formato de diccionario de instancias inválido (no se puede cargar el script " +"en @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" +"Formato de diccionario de instancias inválido (script inválido en @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "Diccionario de instancias inválido (subclases inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -23,7 +69,7 @@ msgid "" "order for AnimatedSprite to display frames." msgstr "" "Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' " -"para que AnimatedSprite puda mostrar frames." +"para que AnimatedSprite pueda mostrar frames." #: scene/2d/canvas_modulate.cpp msgid "" @@ -42,7 +88,7 @@ msgid "" msgstr "" "CollisionPolylgon2D solo sirve para proveer de un collision shape a un nodo " "derivado de CollisionObject2D. Favor de usarlo solo como un hijo de Area2D, " -"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape. " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -115,7 +161,7 @@ msgstr "" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" -"PathFollow2D solo funciona cuando esta seteado como hijo de un nodo Path2D" +"PathFollow2D solo funciona cuando está seteado como hijo de un nodo Path2D." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -131,16 +177,16 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. " "Dicho Viewport debe ser seteado a modo 'render target'." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "El Viewport seteado en la propiedad path debe ser seteado como 'render " "target' para que este sprite funcione." @@ -150,8 +196,8 @@ msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D funciona mejor cuando se usa con la raÃz de escena editada " -"directamente como padre." +"VisibilityEnable2D funciona mejor cuando se usa con la raÃz de escena " +"editada directamente como padre." #: scene/3d/body_shape.cpp msgid "" @@ -192,8 +238,8 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" "NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo " "provee datos de navegación." @@ -214,13 +260,12 @@ msgstr "" "de modo que SpatialSamplePlayer puede reproducir sonido." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' " -"para que AnimatedSprite puda mostrar frames." +"Un recurso SpriteFrames debe ser creado o asignado en la propiedad 'Frames' " +"para que AnimatedSprite3D pueda mostrar frames." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -244,7 +289,7 @@ msgstr "El Archivo Existe, Sobreescribir?" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Recognized" -msgstr "Todos Reconocidos" +msgstr "Todas Reconocidas" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Files (*)" @@ -258,24 +303,20 @@ msgid "Open" msgstr "Abrir" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Abrir Archivo(s) de Muestra" +msgstr "Abrir un Archivo" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Abrir Archivo(s) de Muestra" +msgstr "Abrir Archivo(s)" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Elegà un Directorio" +msgstr "Abrir un Directorio" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Elegà un Directorio" +msgstr "Abrir un Archivo o Directorio" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -297,7 +338,7 @@ msgstr "Crear Carpeta" #: tools/editor/io_plugins/editor_font_import_plugin.cpp #: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp msgid "Path:" -msgstr "Path:" +msgstr "Ruta:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Directories & Files:" @@ -339,7 +380,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -402,7 +443,8 @@ msgstr "Pegar" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Seleccionar Todo" @@ -422,8 +464,8 @@ msgstr "Deshacer" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "Los popups se esconderán por defecto a menos que llames a popup() o " "cualquiera de las funciones popup*(). Sin embargo, no hay problema con " @@ -538,6 +580,18 @@ msgid "Anim Delete Keys" msgstr "Borrar Claves de Anim" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "ContÃnuo" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "Discreto" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "Trigger" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "Agregar Clave de Anim" @@ -645,6 +699,10 @@ msgid "Change Anim Loop" msgstr "Cambiar Loop de Anim" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "Cambiar Interpolación de Loop de Anim" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "Crear Clave de Valor Tipado para Anim" @@ -685,6 +743,10 @@ msgid "Enable/Disable looping in animation." msgstr "Activar/Desactivar loopeo en la animación." #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "Activar/Desactivar interpolación al loopear animación." + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "Agregar nuevos tracks." @@ -805,22 +867,20 @@ msgid "Site:" msgstr "Sitio:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Exportar.." +msgstr "Soporte.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Oficial" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Comunidad" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Configuración" +msgstr "Testeo" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -951,13 +1011,9 @@ msgid "Method in target Node must be specified!" msgstr "El método en el Nodo objetivo debe ser especificado!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "Conectar a Nodo:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "Binds (Parametros Extra):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -967,17 +1023,22 @@ msgstr "Agregar" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Quitar" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Path al Nodo:" +msgid "Add Extra Call Argument:" +msgstr "Agregar Argumento de Llamada Extra:" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "Argumentos de Llamada Extras:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Método En el Nodo:" +msgid "Path to Node:" +msgstr "Ruta al Nodo:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -1000,6 +1061,10 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar '%s' a '%s'" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "Conectando Señal:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "Crear Subscripción" @@ -1013,9 +1078,8 @@ msgid "Disconnect" msgstr "Desconectar" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Señales:" +msgstr "Señales" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1059,7 +1123,7 @@ msgstr "Recursos" #: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp #: tools/editor/project_settings.cpp msgid "Path" -msgstr "Path" +msgstr "Ruta" #: tools/editor/dependency_editor.cpp msgid "Dependencies:" @@ -1141,7 +1205,8 @@ msgid "Delete selected files?" msgstr "Eliminar archivos seleccionados?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Eliminar" @@ -1175,7 +1240,7 @@ msgstr "Recientes:" #: tools/editor/editor_file_dialog.cpp msgid "Preview:" -msgstr "Preview:" +msgstr "Vista Previa:" #: tools/editor/editor_file_system.cpp msgid "Cannot go into subdir:" @@ -1275,9 +1340,8 @@ msgid "Setting Up.." msgstr "Configurando.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "Salida" +msgstr " Salida:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1391,9 +1455,8 @@ msgid "Copy Params" msgstr "Copiar Params" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Pegar Frame" +msgstr "Pegar Parametros" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1413,9 +1476,8 @@ msgid "Make Sub-Resources Unique" msgstr "Crear Sub-Recurso Unico" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Abrir Escena" +msgstr "Abrir en la Ayuda" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1426,10 +1488,13 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"No se ha definido ninguna escena principal.\n" +"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." -msgstr "La escena actual nunca se guardó. Favor de guardarla antes de ejecutar." +msgstr "" +"La escena actual nunca se guardó. Favor de guardarla antes de ejecutar." #: tools/editor/editor_node.cpp msgid "Could not start subprocess!" @@ -1497,7 +1562,7 @@ msgstr "Escena actual sin guardar. Abrir de todos modos?" #: tools/editor/editor_node.cpp msgid "Can't reload a scene that was never saved." -msgstr "No se puede volver a cargar una escena que nunca se guardó. " +msgstr "No se puede volver a cargar una escena que nunca se guardó." #: tools/editor/editor_node.cpp msgid "Revert" @@ -1523,11 +1588,12 @@ msgstr "Ugh" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" -"Error al cargar la escena, debe estar dentro de un path de proyecto. Usa " -"'Importar' para abrir la escena, luego guardala dentro del path del proyecto." +"Error al cargar la escena, debe estar dentro de la ruta del proyecto. Usa " +"'Importar' para abrir la escena, luego guardala dentro de la ruta del " +"proyecto." #: tools/editor/editor_node.cpp msgid "Error loading scene." @@ -1542,9 +1608,8 @@ msgid "Save Layout" msgstr "Guardar Layout" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Guardar Layout" +msgstr "Cargar Layout" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1576,6 +1641,14 @@ msgid "Go to previously opened scene." msgstr "Ir a la escena abierta previamente." #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "Modo Pantalla Completa" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "Modo Sin Distracciones" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "Operaciones con archivos de escena." @@ -1608,9 +1681,8 @@ msgid "Open Recent" msgstr "Abrir Reciente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Busqueda Rapida en Archivo.." +msgstr "Filtrado Rapido de Archivos.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1682,9 +1754,8 @@ msgid "Export" msgstr "Exportar" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Reproducir el proyecto (F5)." +msgstr "Reproducir el proyecto." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1696,14 +1767,12 @@ msgid "Pause the scene" msgstr "Pausar la escena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Pausar la escena" +msgstr "Pausar la Escena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Parar la escena (F8)." +msgstr "Parar la escena." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1711,14 +1780,12 @@ msgid "Stop" msgstr "Detener" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Reproducir la escena editada (F6)." +msgstr "Reproducir la escena editada." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Guardar Escena" +msgstr "Reproducir Escena" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1729,19 +1796,20 @@ msgid "Debug options" msgstr "Opciones de debugueo" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" msgstr "Hacer Deploy con Debug Remoto" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"Al exportar o hacer deploy, el ejecutable resultante tratara de contectarse " +"a la IP de esta computadora de manera de ser debugueado." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Depoy Pequeño con Network FS" #: tools/editor/editor_node.cpp msgid "" @@ -1749,9 +1817,15 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"Cuando esta opción está activa, exportar o hacer deploy producirá un " +"ejecutable mÃnimo.\n" +"El sistema de archivos sera proveido desde el proyecto por el editor sobre " +"la red.\n" +"En Android, deploy usará el cable USB para mejor performance. Esta opción " +"acelera el testeo para juegos con footprint grande." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1762,6 +1836,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Los Collision shapes y nodos raycast (para 2D y 3D) seran visibiles durante " +"la ejecución del juego cuando esta opción queda activada." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1772,10 +1848,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Los meshes de navegación y los polÃgonos seran visibles durante la ejecución " +"del juego si esta opción queda activada." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Sincronizar Cambios de Escena" #: tools/editor/editor_node.cpp msgid "" @@ -1784,11 +1862,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Cuando esta opción este encendida, cualquier cambio hecho a la escena en el " +"editor sera replicado en el juego en ejecución.\n" +"Cuando se usa remotamente en un dispositivo, esto es mas eficiente con un " +"sistema de archivos remoto." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Actualizar Cambios" +msgstr "Actualizar Cambios en Scripts" #: tools/editor/editor_node.cpp msgid "" @@ -1797,6 +1878,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Cuando esta opción esta activa, cualquier script que se guarde sera vuelto a " +"cargar en el juego en ejecución.\n" +"Cuando se use remotamente en un dispositivo, esto es mas eficiente con un " +"sistema de archivos de red." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1850,9 +1935,7 @@ msgstr "Cargar un recurso existente desde disco y editarlo." msgid "Save the currently edited resource." msgstr "Guardar el recurso editado actualmente." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "Guardar Como.." @@ -2035,7 +2118,7 @@ msgstr "Seleccionar Nodo(s) para Importar" #: tools/editor/editor_sub_scene.cpp msgid "Scene Path:" -msgstr "Path a la Escena:" +msgstr "Ruta a la Escena:" #: tools/editor/editor_sub_scene.cpp msgid "Import From Node:" @@ -2060,41 +2143,39 @@ msgid "Imported Resources" msgstr "Importar Recursos" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Sin elementos para importar!" +msgstr "Sin máscaras de bits para importar!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path is empty." -msgstr "El path de destino está vacÃo." +msgstr "La ruta de destino está vacÃa." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must be a complete resource path." -msgstr "El path de destino debe ser un path de recursos completo." +msgstr "La ruta de destino debe ser una ruta de recursos completa." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path must exist." -msgstr "El path de destino debe existir." +msgstr "La ruta de destino debe existir." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp msgid "Save path is empty!" -msgstr "El path de guardado esta vacÃo!" +msgstr "La ruta de guardado esta vacÃa!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Importar Texturas" +msgstr "Importar BitMasks" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2108,7 +2189,7 @@ msgstr "Textura(s) de Origen:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp #: tools/editor/io_plugins/editor_translation_import_plugin.cpp msgid "Target Path:" -msgstr "Path de Destino:" +msgstr "Ruta de Destino:" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -2121,7 +2202,7 @@ msgstr "Aceptar" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Máscara de Bits" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2137,7 +2218,7 @@ msgstr "No se puede cargar/procesar la tipografÃa de origen." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Couldn't save font." -msgstr "No se pudo guardar la tipografÃa" +msgstr "No se pudo guardar la tipografÃa." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Source Font:" @@ -2176,7 +2257,7 @@ msgid "" "instead." msgstr "" "Este archivo ya es un archivo de tipografÃas de Godot, por favor suministrar " -"un archivo tipo BMFont" +"un archivo tipo BMFont." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Failed opening as BMFont file." @@ -2289,7 +2370,7 @@ msgstr "Filtros" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source path is empty." -msgstr "El path de origen esta vacio." +msgstr "La ruta de origen esta vacÃa." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script." @@ -2503,8 +2584,8 @@ msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" -"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los archivos " -"png/jpg al proyecto." +"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los " +"archivos png/jpg al proyecto." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." @@ -2636,18 +2717,16 @@ msgid "MultiNode Set" msgstr "Setear MultiNodo" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "Nodo Mix" +msgstr "Nodo" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Grupos:" +msgstr "Grupos" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Seleccionar un Nodo para editar Señales y Grupos." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2759,12 +2838,20 @@ msgid "Create new animation in player." msgstr "Crear nueva animación en el reproductor." #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "Cargar una animación desde disco." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "Cargar una animación desde disco." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" -msgstr "Guardar la animación actual." +msgstr "Guardar la animación actual" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "Guardar Como" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." @@ -3458,7 +3545,7 @@ msgstr "No se especificó mesh de origen (y MultiMesh no contiene ningún Mesh). #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (invalid path)." -msgstr "Mesh de origen inválido (path inválido)." +msgstr "Mesh de origen inválido (ruta inválida)." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh source is invalid (not a MeshInstance)." @@ -3474,7 +3561,7 @@ msgstr "Ninguna superficie de origen especificada." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (invalid path)." -msgstr "La superficie de origen es inválida (path inválido)." +msgstr "La superficie de origen es inválida (ruta inválida)." #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Surface source is invalid (no geometry)." @@ -3891,7 +3978,8 @@ msgstr "Importar Tema" msgid "Save Theme As.." msgstr "Guardar Tema Como.." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Archivo" @@ -3963,13 +4051,8 @@ msgid "Auto Indent" msgstr "Auto Indentar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Reload Tool Script" -msgstr "Crear Script de Nodo" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "Recarga Soft de Script" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4061,8 +4144,8 @@ msgid "Help" msgstr "Ayuda" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" -msgstr "Contextual" +msgid "Contextual Help" +msgstr "Ayuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4094,7 +4177,7 @@ msgstr "Ir a anterior documento editado." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "Ir a siguiente documento editado" +msgstr "Ir a siguiente documento editado." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Create Script" @@ -4270,20 +4353,20 @@ msgid "Transform Aborted." msgstr "Transformación Abortada." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "Ver Transformación en Plano." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "Transformación en Eje-X" +msgstr "Transformación en Eje-X." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Transformación en Eje-Y" +msgstr "Transformación en Eje-Y." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "Transformación en Eje-Z" +msgstr "Transformación en Eje-Z." + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "Ver Transformación en Plano." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." @@ -4295,7 +4378,7 @@ msgstr "Torando %s grados." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "Vista Inferior" +msgstr "Vista Inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -4303,7 +4386,7 @@ msgstr "Fondo" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Top View." -msgstr "Vista Superior" +msgstr "Vista Superior." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Top" @@ -4363,7 +4446,7 @@ msgstr "Fondo (Shift+Num7)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Left (Num3)" -msgstr "Left (Num3)" +msgstr "Izquierda (Num3)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Right (Shift+Num3)" @@ -4626,20 +4709,20 @@ msgid "StyleBox Preview:" msgstr "Vista Previa de StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Editor de Regiones de Sprites" +msgstr "Editor de Regiones de Texturas" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Editor de Regiones de Sprites" +msgstr "Editor de Regiones de Escalado" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"Sin textura en este nodo.\n" +"Asigná una textura para poder editar la región." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -4667,8 +4750,12 @@ msgid "Remove Class Items" msgstr "Quitar Items de Clases" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "Crear Template" +msgid "Create Empty Template" +msgstr "Crear Template VacÃo" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "Crear Template de Editor VacÃo" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4754,32 +4841,36 @@ msgid "Erase TileMap" msgstr "Borrar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Balde" +msgid "Erase selection" +msgstr "Eliminar Selección" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Elegir Tile" +msgid "Find tile" +msgstr "Encontrar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Seleccionar" +msgid "Transpose" +msgstr "Transponer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "Eliminar Selección" +msgid "Mirror X" +msgstr "Espejar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "Transponer" +msgid "Mirror Y" +msgstr "Espejar Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Espejar X (A)" +msgid "Bucket" +msgstr "Balde" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Espejar Y (S)" +msgid "Pick Tile" +msgstr "Elegir Tile" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "Seleccionar" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -5166,14 +5257,12 @@ msgstr "" "modificados)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Nombre del Proyecto:" +msgstr "Gestor de Proyectos" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Salir a Listado de Proyecto" +msgstr "Listado de Proyectos" #: tools/editor/project_manager.cpp msgid "Run" @@ -5193,7 +5282,7 @@ msgstr "Salir" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "Clave" +msgstr "Tecla " #: tools/editor/project_settings.cpp msgid "Joy Button" @@ -5330,14 +5419,12 @@ msgstr "" "existente." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "La acción '%s' ya existe!" +msgstr "Autocargar '%s' ya existe!" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Quitar Autoload" +msgstr "Renombrar Autoload" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5630,8 +5717,8 @@ msgstr "Ok" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" "No se puede instanciar la escena '%s' porque la escena actual existe dentro " "de uno de sus nodos." @@ -5686,7 +5773,8 @@ msgstr "No se puede operar sobre los nodos de una escena externa!" #: tools/editor/scene_tree_dock.cpp msgid "Can't operate on nodes the current scene inherits from!" -msgstr "No se puede operar sobre los nodos de los cual hereda la escena actual!" +msgstr "" +"No se puede operar sobre los nodos de los cual hereda la escena actual!" #: tools/editor/scene_tree_dock.cpp msgid "Remove Node(s)" @@ -5809,6 +5897,10 @@ msgid "Load As Placeholder" msgstr "Cargar Como Placeholder" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "Descartar Instanciado" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir en Editor" @@ -5865,9 +5957,8 @@ msgid "View Owners.." msgstr "Ver Dueños.." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Copiar Params" +msgstr "Copiar Ruta" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -6044,7 +6135,7 @@ msgstr "Arbos de Escenas en Vivo:" #: tools/editor/script_editor_debugger.cpp msgid "Remote Object Properties: " -msgstr "Propiedades de Objeto Remoto:" +msgstr "Propiedades de Objeto Remoto: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" @@ -6108,7 +6199,7 @@ msgstr "Setear Desde Arbol" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Atajos" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6146,12 +6237,18 @@ msgstr "Cambiar Largo de Shape Rayo" msgid "Change Notifier Extents" msgstr "Cambiar Alcances de Notificadores" +#~ msgid "Binds (Extra Params):" +#~ msgstr "Binds (Parametros Extra):" + +#~ msgid "Method In Node:" +#~ msgstr "Método En el Nodo:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "Volver a Cargar Script de Herramientas (Soft)" + #~ msgid "Edit Connections.." #~ msgstr "Editar Conecciones.." -#~ msgid "Connections:" -#~ msgstr "Conecciones:" - #~ msgid "Set Params" #~ msgstr "Setear Params" diff --git a/tools/translations/extract.py b/tools/translations/extract.py index a441bcc480..97bb7494a7 100755 --- a/tools/translations/extract.py +++ b/tools/translations/extract.py @@ -40,6 +40,7 @@ main_po = """ # LANGUAGE translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy @@ -106,7 +107,7 @@ f.write(main_po) f.close() if (os.name == "posix"): - os.system("msgmerge -w80 tools.pot tools.pot > tools.pot.wrap") + os.system("msgmerge -w79 tools.pot tools.pot > tools.pot.wrap") shutil.move("tools.pot.wrap", "tools.pot") shutil.move("tools.pot", "tools/translations/tools.pot") diff --git a/tools/translations/fr.po b/tools/translations/fr.po index 0fddf2947d..386a7e6170 100644 --- a/tools/translations/fr.po +++ b/tools/translations/fr.po @@ -1,27 +1,78 @@ # French translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# +# derderder77 <derderder77380@gmail.com>, 2016. +# finkiki <specialpopol@gmx.fr>, 2016. # Hugo Locurcio <hugo.l@openmailbox.org>, 2016. +# Marc <marc.gilleron@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: derderder <derderder77380@gmail.com>\n" -"Language-Team: French\n" +"PO-Revision-Date: 2016-06-19 13:17+0000\n" +"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n" +"Language-Team: French <https://hosted.weblate.org/projects/godot-" +"engine/godot/fr/>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.6.10\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "N'est pas un script avec une instance" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "N'est pas basé sur un script" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "N'est pas basé sur un fichier de ressource" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "Instance invalide pour le format de dictionnaire (@path manquant)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" +"Instance invalide pour le format de dictionnaire (impossible de charger le " +"script depuis @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" +"Instance invalide pour le format de dictionnaire (script invalide dans @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" +"Instance invalide pour le format de dictionnaire (sous-classes invalides)" #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" +"Une ressource SpriteFrames doit être créée ou assignée à la propriété « " +"Frames » afin qu'AnimatedSprite affiche les images." #: scene/2d/canvas_modulate.cpp msgid "" @@ -68,8 +119,8 @@ msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." msgstr "" -"Une texture avec la forme de la lumière doit être fournie dans la propriété « " -"texture »." +"Une texture avec la forme de la lumière doit être fournie dans la propriété " +"« texture »." #: scene/2d/light_occluder_2d.cpp msgid "" @@ -89,12 +140,17 @@ msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" +"Vous devez créer ou sélectionner une ressource de type NavigationPolygon " +"pour que ce nÅ“ud fonctionne. Sélectionnez une ressource ou dessinez un " +"polygone." #: scene/2d/navigation_polygon.cpp msgid "" "NavigationPolygonInstance must be a child or grandchild to a Navigation2D " "node. It only provides navigation data." msgstr "" +"Un NavigationPolygonInstance doit être un enfant ou petit-enfant d'un nÅ“ud " +"Navigation2D. Il fournit seulement des données de navigation." #: scene/2d/parallax_layer.cpp msgid "" @@ -112,6 +168,8 @@ msgstr "" #: scene/2d/path_2d.cpp msgid "PathFollow2D only works when set as a child of a Path2D node." msgstr "" +"Un PathFollow2D fonctionne seulement quand défini comme un enfant d'un nÅ“ud " +"Path2D." #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." @@ -124,19 +182,21 @@ msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SamplePlayer to play sound." msgstr "" +"Une ressource SampleLibrary doit être créée ou définie dans la propriété " +"\"échantillon\" pour que le SamplePlayer puisse jouer un son." #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "La propriété Path doit pointer vers un nÅ“ud de type Viewport valide pour " "fonctionner. Ce Viewport doit utiliser le mode « render target »." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "Le Viewport défini dans la propriété Path doit utiliser le mode « render " "target » pour que cette sprite fonctionne." @@ -146,6 +206,8 @@ msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" +"Un VisibilityEnable2D fonctionne mieux lorsqu'il est directement enfant du " +"nÅ“ud racine de la scène." #: scene/3d/body_shape.cpp msgid "" @@ -185,9 +247,11 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" +"Un NavigationMeshInstance doit être enfant ou sous-enfant d'un nÅ“ud de type " +"Navigation. Il fournit uniquement des données de navigation." #: scene/3d/scenario_fx.cpp msgid "" @@ -205,13 +269,12 @@ msgstr "" "propriété « samples » afin que le SpatialSamplePlayer joue des sons." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"Une ressource de type SampleLibrary doit être créée ou définie dans la " -"propriété « samples » afin que le SpatialSamplePlayer joue des sons." +"Une ressource de type SampleFrames doit être créée ou définie dans la " +"propriété « Frames » afin qu'une AnimatedSprite3D fonctionne." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -223,11 +286,11 @@ msgstr "OK" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Alerte !" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "Veuillez confirmer..." +msgstr "Veuillez confirmer…" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "File Exists, Overwrite?" @@ -235,7 +298,7 @@ msgstr "Le fichier existe, l'écraser ?" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Recognized" -msgstr "Tous les fichiers reconnus" +msgstr "Tous les types de fichiers reconnus" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "All Files (*)" @@ -249,24 +312,20 @@ msgid "Open" msgstr "Ouvrir" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Ouvrir un ou des fichiers d'échantillons" +msgstr "Ouvrir un fichier" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Ouvrir un ou des fichiers d'échantillons" +msgstr "Ouvrir un ou plusieurs fichiers" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Choisir un répertoire" +msgstr "Ouvrir un répertoire" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Choisir un répertoire" +msgstr "Ouvrir un fichier ou un répertoire" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -330,7 +389,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Contrôle+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -393,7 +452,8 @@ msgstr "Coller" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Tout sélectionner" @@ -413,12 +473,13 @@ msgstr "Annuler" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" -"Les pop-ups seront cachés par défaut jusqu'à ce que vous appelez une fonction " -"popup() ou une des fonctions popup*(). Les rendre visibles pour l'édition ne " -"pose pas de problème, mais elles seront cachées lors de l'exécution." +"Les pop-ups seront cachés par défaut jusqu'à ce que vous appelez une " +"fonction popup() ou une des fonctions popup*(). Les rendre visibles pour " +"l'édition ne pose pas de problème, mais elles seront cachées lors de " +"l'exécution." #: scene/main/viewport.cpp msgid "" @@ -427,6 +488,10 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"Ce Viewport n'est pas sélectionné comme cible du rendu. Si vous avez " +"l'intention d'afficher son contenu directement à l'écran, rattachez-le à un " +"nÅ“ud de type Control afin qu'il en obtienne une taille. Sinon, faites-en un " +"RenderTarget et assignez sa texture à un nÅ“ud quelquonque pour son affichage." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -458,47 +523,47 @@ msgstr "Toute la sélection" #: tools/editor/animation_editor.cpp msgid "Move Add Key" -msgstr "" +msgstr "Déplacer Ajouter Clé" #: tools/editor/animation_editor.cpp msgid "Anim Change Transition" -msgstr "" +msgstr "Anim Modifier Transition" #: tools/editor/animation_editor.cpp msgid "Anim Change Transform" -msgstr "" +msgstr "Anim Modifier Transform" #: tools/editor/animation_editor.cpp msgid "Anim Change Value" -msgstr "" +msgstr "Anim Modifier Valeur" #: tools/editor/animation_editor.cpp msgid "Anim Change Call" -msgstr "" +msgstr "Anim Modifier Appel" #: tools/editor/animation_editor.cpp msgid "Anim Add Track" -msgstr "" +msgstr "Anim Ajouter Piste" #: tools/editor/animation_editor.cpp msgid "Move Anim Track Up" -msgstr "" +msgstr "Monter Piste Anim" #: tools/editor/animation_editor.cpp msgid "Move Anim Track Down" -msgstr "" +msgstr "Descendre Piste Anim" #: tools/editor/animation_editor.cpp msgid "Remove Anim Track" -msgstr "" +msgstr "Supprimer Piste Anim" #: tools/editor/animation_editor.cpp msgid "Anim Duplicate Keys" -msgstr "" +msgstr "Anim Dupliquer Clés" #: tools/editor/animation_editor.cpp msgid "Set Transitions to:" -msgstr "" +msgstr "Définir les transitions à :" #: tools/editor/animation_editor.cpp msgid "Anim Track Rename" @@ -525,6 +590,18 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "Continu" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "Discret" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "" @@ -534,7 +611,7 @@ msgstr "" #: tools/editor/animation_editor.cpp msgid "Scale Selection" -msgstr "" +msgstr "Mettre à l'échelle la sélection" #: tools/editor/animation_editor.cpp msgid "Scale From Cursor" @@ -543,7 +620,7 @@ msgstr "" #: tools/editor/animation_editor.cpp #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Duplicate Selection" -msgstr "" +msgstr "Dupliquer la sélection" #: tools/editor/animation_editor.cpp msgid "Duplicate Transposed" @@ -632,6 +709,11 @@ msgid "Change Anim Loop" msgstr "" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Change Anim Loop Interpolation" +msgstr "Changer l'interpolation de l'animation bouclée" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "" @@ -649,7 +731,7 @@ msgstr "" #: tools/editor/animation_editor.cpp msgid "Animation zoom." -msgstr "" +msgstr "Zoom de l'animation." #: tools/editor/animation_editor.cpp msgid "Length (s):" @@ -672,28 +754,32 @@ msgid "Enable/Disable looping in animation." msgstr "" #: tools/editor/animation_editor.cpp -msgid "Add new tracks." +msgid "Enable/Disable interpolation when looping animation." msgstr "" #: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "Ajouter de nouvelles pistes." + +#: tools/editor/animation_editor.cpp msgid "Move current track up." -msgstr "" +msgstr "Déplacer la piste actuelle vers le haut." #: tools/editor/animation_editor.cpp msgid "Move current track down." -msgstr "" +msgstr "Déplacer la piste actuelle vers le bas." #: tools/editor/animation_editor.cpp msgid "Remove selected track." -msgstr "" +msgstr "Supprimer la piste sélectionnée." #: tools/editor/animation_editor.cpp msgid "Track tools" -msgstr "" +msgstr "Outils de piste" #: tools/editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "" +msgstr "Activer la modification de pistes individuelles en cliquant dessus." #: tools/editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -701,15 +787,15 @@ msgstr "Optimiseur d'animation" #: tools/editor/animation_editor.cpp msgid "Max. Linear Error:" -msgstr "" +msgstr "Erreur linéaire max. :" #: tools/editor/animation_editor.cpp msgid "Max. Angular Error:" -msgstr "" +msgstr "Erreur angulaire max. :" #: tools/editor/animation_editor.cpp msgid "Max Optimizable Angle:" -msgstr "" +msgstr "Angle optimisable max. :" #: tools/editor/animation_editor.cpp msgid "Optimize" @@ -792,9 +878,8 @@ msgid "Site:" msgstr "Site :" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Exporter..." +msgstr "Support…" #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" @@ -805,9 +890,8 @@ msgid "Community" msgstr "" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Paramètres" +msgstr "En test" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -855,12 +939,10 @@ msgid "Line Number:" msgstr "Numéro de ligne :" #: tools/editor/code_editor.cpp -#, fuzzy msgid "No Matches" -msgstr "Correspondances :" +msgstr "Pas de correspondances" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Replaced %d Ocurrence(s)." msgstr "%d occurrence(s) remplacée(s)." @@ -869,14 +951,12 @@ msgid "Replace" msgstr "Remplacer" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Replace All" -msgstr "Remplacer" +msgstr "Remplacer tout" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Match Case" -msgstr "Correspondances :" +msgstr "Sensible à la casse" #: tools/editor/code_editor.cpp msgid "Whole Words" @@ -939,16 +1019,12 @@ msgstr "Colonne :" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "" +msgstr "La méthode du nÅ“ud cible doit être spécifiée !" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "Connecter au nÅ“ud :" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -958,17 +1034,22 @@ msgstr "Ajouter" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Supprimer" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Chemin vers le nÅ“ud :" +msgid "Add Extra Call Argument:" +msgstr "Ajouter des arguments supplémentaires :" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "Arguments supplémentaires :" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Méthode dans le nÅ“ud :" +msgid "Path to Node:" +msgstr "Chemin vers le nÅ“ud :" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -991,22 +1072,25 @@ msgid "Connect '%s' to '%s'" msgstr "Connecter « %s » à « %s »" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "Connecter un signal :" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "" #: tools/editor/connections_dialog.cpp msgid "Connect.." -msgstr "Connecter..." +msgstr "Connecter…" #: tools/editor/connections_dialog.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Disconnect" -msgstr "Déconnecter..." +msgstr "Déconnecter" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Signaux :" +msgstr "Signaux" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1046,15 +1130,13 @@ msgid "Dependencies" msgstr "Dépendances" #: tools/editor/dependency_editor.cpp -#, fuzzy msgid "Resource" -msgstr "Ressources" +msgstr "Ressource" #: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp #: tools/editor/project_settings.cpp -#, fuzzy msgid "Path" -msgstr "Chemin :" +msgstr "Chemin" #: tools/editor/dependency_editor.cpp msgid "Dependencies:" @@ -1093,7 +1175,7 @@ msgstr "" #: tools/editor/dependency_editor.cpp msgid "Scene failed to load due to missing dependencies:" -msgstr "La scène n'a pas pu être chargée à cause de dépendences manquantes." +msgstr "La scène n'a pas pu être chargée à cause de dépendances manquantes :" #: tools/editor/dependency_editor.cpp msgid "Open Anyway" @@ -1134,7 +1216,8 @@ msgid "Delete selected files?" msgstr "Supprimer les fichiers sélectionnés ?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Supprimer" @@ -1144,11 +1227,11 @@ msgstr "Mise à jour de la scène" #: tools/editor/editor_data.cpp msgid "Storing local changes.." -msgstr "Stockage des modifications locales..." +msgstr "Stockage des modifications locales…" #: tools/editor/editor_data.cpp msgid "Updating scene.." -msgstr "Mise à jour de la scène..." +msgstr "Mise à jour de la scène…" #: tools/editor/editor_dir_dialog.cpp msgid "Choose a Directory" @@ -1265,12 +1348,11 @@ msgstr "Exportation pour %s" #: tools/editor/editor_import_export.cpp msgid "Setting Up.." -msgstr "Configuration..." +msgstr "Configuration…" #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "Sortie" +msgstr " Sortie :" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1286,7 +1368,7 @@ msgstr "NÅ“ud à partir d'une scène" #: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp msgid "Re-Import.." -msgstr "Ré-importer..." +msgstr "Ré-importer…" #: tools/editor/editor_node.cpp #: tools/editor/plugins/animation_player_editor_plugin.cpp @@ -1298,11 +1380,11 @@ msgstr "Erreur d'enregistrement de la ressource !" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/resources_dock.cpp msgid "Save Resource As.." -msgstr "Enregistrer la ressource sous..." +msgstr "Enregistrer la ressource sous…" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "I see.." -msgstr "Je vois..." +msgstr "Je vois…" #: tools/editor/editor_node.cpp msgid "Can't open file for writing:" @@ -1384,9 +1466,8 @@ msgid "Copy Params" msgstr "Copier paramètres" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Coller une image" +msgstr "Coller les paramètres" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1406,9 +1487,8 @@ msgid "Make Sub-Resources Unique" msgstr "Rendre les sous-ressources uniques" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Ouvrir une scène" +msgstr "Ouvrir dans l'aide" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1440,11 +1520,11 @@ msgstr "Ouvrir scène de base" #: tools/editor/editor_node.cpp msgid "Quick Open Scene.." -msgstr "Ouvrir une scène rapidement..." +msgstr "Ouvrir une scène rapidement…" #: tools/editor/editor_node.cpp msgid "Quick Open Script.." -msgstr "Ouvrir un script rapidement..." +msgstr "Ouvrir un script rapidement…" #: tools/editor/editor_node.cpp msgid "Yes" @@ -1456,7 +1536,7 @@ msgstr "Fermer la scène ? (les modifications non sauvegardées seront perdues)" #: tools/editor/editor_node.cpp msgid "Save Scene As.." -msgstr "Enregistrer la scène sous..." +msgstr "Enregistrer la scène sous…" #: tools/editor/editor_node.cpp msgid "This scene has never been saved. Save before running?" @@ -1505,14 +1585,15 @@ msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?" #: tools/editor/editor_node.cpp msgid "Quick Run Scene.." -msgstr "Lancer une scène rapidement..." +msgstr "Lancer une scène rapidement…" #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Open Project Manager? \n" "(Unsaved changes will be lost)" -msgstr "Fermer la scène ? (les modifications non sauvegardées seront perdues)" +msgstr "" +"Ouvrir le gestionnaire de projets ?\n" +"(les modifications non sauvegardées seront perdues)" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1520,8 +1601,8 @@ msgstr "Oups" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "Erreur lors du chargement de la scène, elle doit être dans le chemin du " "projet. Utilisez « Importer » pour ouvrir la scène, puis enregistrez-la dans " @@ -1540,9 +1621,8 @@ msgid "Save Layout" msgstr "Enregistrer la disposition" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Enregistrer la disposition" +msgstr "Charger la disposition" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1574,6 +1654,14 @@ msgid "Go to previously opened scene." msgstr "Aller à la scène ouverte précédemment." #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "Opérations avec les fichiers de scène." @@ -1583,11 +1671,11 @@ msgstr "Nouvelle scène" #: tools/editor/editor_node.cpp msgid "New Inherited Scene.." -msgstr "Nouvelle scène héritée..." +msgstr "Nouvelle scène héritée…" #: tools/editor/editor_node.cpp msgid "Open Scene.." -msgstr "Ouvrir une scène..." +msgstr "Ouvrir une scène…" #: tools/editor/editor_node.cpp msgid "Save Scene" @@ -1606,25 +1694,24 @@ msgid "Open Recent" msgstr "Fichiers récents" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Recherche rapide d'un fichier..." +msgstr "Filtre rapide d'un fichier…" #: tools/editor/editor_node.cpp msgid "Convert To.." -msgstr "Convertir vers..." +msgstr "Convertir vers…" #: tools/editor/editor_node.cpp msgid "Translatable Strings.." -msgstr "Chaînes traduisibles..." +msgstr "Chaînes traduisibles…" #: tools/editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "MeshLibrary..." +msgstr "MeshLibrary…" #: tools/editor/editor_node.cpp msgid "TileSet.." -msgstr "TileSet..." +msgstr "TileSet…" #: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -1680,9 +1767,8 @@ msgid "Export" msgstr "Exporter" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Jouer le projet (F5)." +msgstr "Lancer le projet." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1690,19 +1776,16 @@ msgid "Play" msgstr "Jouer" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause the scene" -msgstr "Jouer une scène personnalisée" +msgstr "Mettre en pause la scène" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Jouer une scène personnalisée" +msgstr "Mettre en pause la scène" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Arrêter la scène (F8)." +msgstr "Arrêter la scène." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1710,14 +1793,12 @@ msgid "Stop" msgstr "Arrêter" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Jouer la scène actuellement en cours d'édition (F6)." +msgstr "Lancer la scène actuellement en cours d'édition." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Enregistrer la scène" +msgstr "Lancer la scène" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1728,14 +1809,13 @@ msgid "Debug options" msgstr "Options de débogage" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" -msgstr "Déployer le débogage à distance" +msgstr "Déployer avec le débogage distant" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" #: tools/editor/editor_node.cpp @@ -1748,8 +1828,8 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" #: tools/editor/editor_node.cpp @@ -1785,9 +1865,8 @@ msgid "" msgstr "" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Repeindre quand modifié" +msgstr "Synchroniser les modifications de script" #: tools/editor/editor_node.cpp msgid "" @@ -1849,11 +1928,9 @@ msgstr "Charger une ressource existante depuis la disque et la modifier." msgid "Save the currently edited resource." msgstr "Enregistrer la ressource actuellement modifiée." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "Enregistrer sous..." +msgstr "Enregistrer sous…" #: tools/editor/editor_node.cpp msgid "Go to the previous edited object in history." @@ -1929,9 +2006,8 @@ msgid "Installed Plugins:" msgstr "Extensions Installées :" #: tools/editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version:" -msgstr "Description :" +msgstr "Version :" #: tools/editor/editor_plugin_settings.cpp msgid "Author:" @@ -1962,23 +2038,20 @@ msgid "Average Time (sec)" msgstr "" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Frame %" -msgstr "Ajouter une image" +msgstr "" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Fixed Frame %" -msgstr "Ajouter une image" +msgstr "" #: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp msgid "Time:" msgstr "Temps :" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Inclusive" -msgstr "Inclure" +msgstr "Inclusif" #: tools/editor/editor_profiler.cpp msgid "Self" @@ -2063,9 +2136,8 @@ msgid "Imported Resources" msgstr "Ressources importées" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Pas d'objets à importer !" +msgstr "Pas de masques de bits à importer !" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2096,9 +2168,8 @@ msgid "Save path is empty!" msgstr "Le chemin de sauvegarde est vide !" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Improter des textures" +msgstr "Importer des BitMasks" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2157,7 +2228,7 @@ msgstr "Ressource de destination :" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "The quick brown fox jumps over the lazy dog." -msgstr "The quick brown fox jumps over the lazy dog." +msgstr "Voix ambiguë d'un cÅ“ur qui, au zéphyr, préfère les jattes de kiwis." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Test:" @@ -2229,9 +2300,8 @@ msgid "Source Sample(s):" msgstr "Échantillon(s) source :" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp -#, fuzzy msgid "Audio Sample" -msgstr "Ajouter un échantillon" +msgstr "Échantillon audio" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "New Clip" @@ -2337,9 +2407,8 @@ msgid "Custom Root Node Type:" msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Auto" -msgstr "AutoLoad" +msgstr "Auto." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "The Following Files are Missing:" @@ -2361,17 +2430,16 @@ msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp -#, fuzzy msgid "Import Scene" -msgstr "Importer la scène" +msgstr "Importer une scène" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Importing Scene.." -msgstr "Importation de la scène..." +msgstr "Importation de la scène…" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Running Custom Script.." -msgstr "Lancement du script personnalisé..." +msgstr "Lancement du script personnalisé…" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script:" @@ -2391,7 +2459,7 @@ msgstr "Importer une image :" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Can't import a file over itself:" -msgstr "Impossible d'importer un fichier par-dessus lui-même." +msgstr "Impossible d'importer un fichier par-dessus lui-même :" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't localize path: %s (already local)" @@ -2399,12 +2467,11 @@ msgstr "Impossible de rendre le chemin local : %s (déjà local)" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Saving.." -msgstr "Enregistrement..." +msgstr "Enregistrement…" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "3D Scene Animation" -msgstr "Renommer l'animation" +msgstr "Animation de scène 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Uncompressed" @@ -2471,18 +2538,16 @@ msgid "Import Large Textures (2D)" msgstr "Importer des grandes textures (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Source Texture" -msgstr "Texture source :" +msgstr "Texture source" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Base Atlas Texture" msgstr "Texture d'atlas de base" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Source Texture(s)" -msgstr "Texture(s) source :" +msgstr "Texture(s) source" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 2D" @@ -2494,39 +2559,35 @@ msgstr "Importer des textures pour la 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures" -msgstr "Improter des textures" +msgstr "Importer des textures" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "2D Texture" -msgstr "Grande texture" +msgstr "Texture 2D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "3D Texture" -msgstr "Grande texture" +msgstr "Texture 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Atlas Texture" -msgstr "Texture d'atlas de base" +msgstr "Texture atlas" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" -"REMARQUE: Il n'est pas obligatoire d'importer les textures 2D. Copiez " -"directement les fichiers png/jpeg dans le projet." +"REMARQUE : Il n'est pas obligatoire d'importer les textures en 2D. Copiez " +"directement les fichiers PNG ou JPEG dans le projet." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." msgstr "Rogner l'espace vide." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Texture" -msgstr "Grande texture" +msgstr "Texture" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Large Texture" @@ -2642,9 +2703,8 @@ msgid "Import Languages:" msgstr "Importer les langues :" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp -#, fuzzy msgid "Translation" -msgstr "Traductions" +msgstr "Traduction" #: tools/editor/multi_node_edit.cpp msgid "MultiNode Set" @@ -2655,9 +2715,8 @@ msgid "Node" msgstr "" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Groupes :" +msgstr "Groupes" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." @@ -2760,7 +2819,7 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Animation position (in seconds)." -msgstr "Position de l'animation (en secondes)" +msgstr "Position de l'animation (en secondes)." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Scale animation playback globally for the node." @@ -2771,6 +2830,10 @@ msgid "Create new animation in player." msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "Charger une animation depuis le disque." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "Charger une animation depuis le disque." @@ -2779,6 +2842,10 @@ msgid "Save the current animation" msgstr "Enregistrer l'animation actuelle" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "Enregistrer sous" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "Afficher la liste des animations dans le lecteur." @@ -2828,9 +2895,8 @@ msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation" -msgstr "Animations" +msgstr "Animation" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" @@ -2964,7 +3030,7 @@ msgstr "" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Import Animations.." -msgstr "Importer des animations..." +msgstr "Importer des animations…" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Edit Node Filters" @@ -2972,7 +3038,7 @@ msgstr "Modifier les filtres de nÅ“ud" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Filters.." -msgstr "Filtres..." +msgstr "Filtres…" #: tools/editor/plugins/baked_light_baker.cpp msgid "Parsing %d Triangles:" @@ -3182,7 +3248,7 @@ msgstr "Alignement relatif" #: tools/editor/plugins/canvas_item_editor_plugin.cpp #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Configure Snap.." -msgstr "Configurer la grille..." +msgstr "Configurer la grille…" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Use Pixel Snap" @@ -3194,7 +3260,7 @@ msgstr "Étendre au parent" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton.." -msgstr "Squelette..." +msgstr "Squelette…" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" @@ -3231,7 +3297,7 @@ msgstr "Réinitialiser le zoom" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom Set.." -msgstr "Définir le zoom" +msgstr "Définir le zoom…" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Center Selection" @@ -3327,7 +3393,7 @@ msgstr "" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Thumbnail.." -msgstr "Aperçu..." +msgstr "Aperçu…" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Remove item %d?" @@ -3380,7 +3446,7 @@ msgstr "Bouton gauche : déplacer un point." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "Contrôle + Bouton gauche : séparer le segment" +msgstr "Contrôle + Bouton gauche : séparer le segment." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -3445,7 +3511,7 @@ msgstr "" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh.." -msgstr "Créer un maillage de contour..." +msgstr "Créer un maillage de contour…" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline Mesh" @@ -3569,7 +3635,7 @@ msgstr "Erreur de chargement de l'image :" #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "No pixels with transparency > 128 in image.." -msgstr "Pas de pixels avec une transparence > 128 dans l'image..." +msgstr "Pas de pixels avec une transparence > 128 dans l'image…" #: tools/editor/plugins/particles_2d_editor_plugin.cpp msgid "Set Emission Mask" @@ -3875,36 +3941,31 @@ msgid "Pitch" msgstr "Hauteur" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme" -msgstr "Erreur lors de l'enregistrement." +msgstr "Erreur d'enregistrement du thème" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error saving" -msgstr "Erreur de sauvegarde de l'atlas :" +msgstr "Erreur d'enregistrement" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing theme" -msgstr "Erreur d'importation de la scène." +msgstr "Erreur d'importation du thème" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing" -msgstr "Erreur d'importation :" +msgstr "Erreur d'importation" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Import Theme" -msgstr "Improter des textures" +msgstr "Improter un thème" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme As.." -msgstr "Enregistrer la scène sous..." +msgstr "Enregistrer le thème sous…" -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Fichier" @@ -3926,19 +3987,16 @@ msgid "History Next" msgstr "Suivant dans l'historique" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reload Theme" -msgstr "Recharger" +msgstr "Recharger le thème" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme" -msgstr "Enregistrer la scène" +msgstr "Enregistrer le thème" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme As" -msgstr "Enregistrer la scène sous..." +msgstr "Enregistrer le thème sous" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/scene_tree_dock.cpp @@ -3980,17 +4038,13 @@ msgstr "Indentation automatique" #: tools/editor/plugins/script_editor_plugin.cpp #, fuzzy -msgid "Reload Tool Script" -msgstr "Créer le script de nÅ“ud" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "Recharger le script (mode doux)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Find.." -msgstr "Trouver..." +msgstr "Trouver…" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4005,7 +4059,7 @@ msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Replace.." -msgstr "Remplacer..." +msgstr "Remplacer…" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Goto Function.." @@ -4014,7 +4068,7 @@ msgstr "Aller à la fonction…" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Goto Line.." -msgstr "Aller à la ligne..." +msgstr "Aller à la ligne…" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Debug" @@ -4025,19 +4079,16 @@ msgid "Toggle Breakpoint" msgstr "Placer un point d'arrêt" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Remove All Breakpoints" -msgstr "Placer un point d'arrêt" +msgstr "Supprimer tous les points d'arrêt" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Goto Next Breakpoint" -msgstr "Placer un point d'arrêt" +msgstr "Aller au point d'arrêt suivant" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Goto Previous Breakpoint" -msgstr "Placer un point d'arrêt" +msgstr "Aller au point d'arrêt précédent" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/script_editor_debugger.cpp @@ -4080,7 +4131,7 @@ msgid "Help" msgstr "Aide" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +msgid "Contextual Help" msgstr "Aide contextuelle" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4289,10 +4340,6 @@ msgid "Transform Aborted." msgstr "Transformation annulée." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "Transformation sur l'axe X." @@ -4305,6 +4352,10 @@ msgid "Z-Axis Transform." msgstr "Transformation sur l'axe Z." #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "Mise à l'échelle %s%%." @@ -4330,7 +4381,7 @@ msgstr "Dessus" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Rear View." -msgstr "Vue arrière" +msgstr "Vue arrière." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Rear" @@ -4338,7 +4389,7 @@ msgstr "Arrière" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Front View." -msgstr "Vue avant" +msgstr "Vue avant." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Front" @@ -4346,7 +4397,7 @@ msgstr "Avant" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Left View." -msgstr "Vue de gauche" +msgstr "Vue de gauche." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Left" @@ -4354,7 +4405,7 @@ msgstr "Gauche" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Right View." -msgstr "Vue de droite" +msgstr "Vue de droite." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Right" @@ -4445,9 +4496,8 @@ msgid "Scale Mode (R)" msgstr "Mode de mise à l'échelle (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform" -msgstr "Type de transformation" +msgstr "Transformation" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Local Coords" @@ -4455,7 +4505,7 @@ msgstr "Coordonnées locales" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Transform Dialog.." -msgstr "Dialogue de transformation..." +msgstr "Dialogue de transformation…" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Use Default Light" @@ -4470,27 +4520,24 @@ msgid "1 Viewport" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "2 Viewports" -msgstr "Paramètres de la vue" +msgstr "2 vues" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "3 Viewports" -msgstr "Paramètres de la vue" +msgstr "3 vues" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "4 Viewports" -msgstr "Paramètres de la vue" +msgstr "4 vues" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -4649,14 +4696,12 @@ msgid "StyleBox Preview:" msgstr "Aperçu de la StyleBox :" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Éditeur de région de Sprite" +msgstr "Éditeur de région de texture" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Éditeur de région de Sprite" +msgstr "" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" @@ -4690,8 +4735,12 @@ msgid "Remove Class Items" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "Créer un modèle" +msgid "Create Empty Template" +msgstr "Créer un nouveau modèle" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "Créer un nouveau modèle d'éditeur" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4777,32 +4826,36 @@ msgid "Erase TileMap" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Seau" +msgid "Erase selection" +msgstr "Supprimer la sélection" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Sélectionner une case" +msgid "Find tile" +msgstr "Chercher une case" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Sélectionner" +msgid "Transpose" +msgstr "Transposer" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "Supprimer la sélection" +msgid "Mirror X" +msgstr "Miroir X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "Transposer" +msgid "Mirror Y" +msgstr "Miroir Y" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Miroir X (A)" +msgid "Bucket" +msgstr "Seau" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Miroir Y (S)" +msgid "Pick Tile" +msgstr "Sélectionner une case" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "Sélectionner" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -4945,8 +4998,8 @@ msgstr "Action" msgid "" "Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Filtres à utiliser pour l'exportation des fichiers (séparés par des virgules, " -"par exemple : *.json, *.txt) :" +"Filtres à utiliser pour l'exportation des fichiers (séparés par des " +"virgules, par exemple : *.json, *.txt) :" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" @@ -4956,7 +5009,8 @@ msgstr "" #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." -msgstr "Convertir les scènes en format texte au format binaire à l'exportation." +msgstr "" +"Convertir les scènes en format texte au format binaire à l'exportation." #: tools/editor/project_export.cpp msgid "Images" @@ -5071,9 +5125,8 @@ msgid "Trailing Silence:" msgstr "Silence de fin :" #: tools/editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "Lancer le script" +msgstr "Script" #: tools/editor/project_export.cpp msgid "Script Export Mode:" @@ -5105,7 +5158,7 @@ msgstr "Exporter le PCK du projet" #: tools/editor/project_export.cpp msgid "Export.." -msgstr "Exporter..." +msgstr "Exporter…" #: tools/editor/project_export.cpp msgid "Project Export" @@ -5137,7 +5190,8 @@ msgstr "" #: tools/editor/project_manager.cpp msgid "Couldn't create engine.cfg in project path." -msgstr "Impossible de créer le fichier engine.cfg dans le répertoire du projet." +msgstr "" +"Impossible de créer le fichier engine.cfg dans le répertoire du projet." #: tools/editor/project_manager.cpp msgid "Import Existing Project" @@ -5157,7 +5211,7 @@ msgstr "Créer un nouveau projet" #: tools/editor/project_manager.cpp msgid "Project Path:" -msgstr "Chemin du projet" +msgstr "Chemin du projet :" #: tools/editor/project_manager.cpp msgid "Browse" @@ -5189,14 +5243,12 @@ msgstr "" "Supprimer le projet de la liste ? (Le contenu du dossier ne sera pas modifié)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Nom du projet :" +msgstr "Gestionnaire de projets" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Quitter vers la liste des projets" +msgstr "Liste des projets" #: tools/editor/project_manager.cpp msgid "Run" @@ -5219,19 +5271,16 @@ msgid "Key " msgstr "" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Button" -msgstr "Bouton" +msgstr "Bouton de joystick" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Axis" -msgstr "Axe" +msgstr "Axe de joystick" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Mouse Button" -msgstr "Index du bouton de la souris :" +msgstr "Bouton de souris" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5255,7 +5304,7 @@ msgstr "Contrôle+" #: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp msgid "Press a Key.." -msgstr "Appuyez sur une touche..." +msgstr "Appuyez sur une touche…" #: tools/editor/project_settings.cpp msgid "Mouse Button Index:" @@ -5356,14 +5405,12 @@ msgstr "" "constante globale." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "L'action « %s » existe déjà !" +msgstr "L'autoload « %s » existe déjà !" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Supprimer l'AutoLoad" +msgstr "Renommer l'AutoLoad" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5427,11 +5474,11 @@ msgstr "Supprimer" #: tools/editor/project_settings.cpp msgid "Copy To Platform.." -msgstr "Copier vers la plate-forme..." +msgstr "Copier vers la plate-forme…" #: tools/editor/project_settings.cpp msgid "Input Map" -msgstr "Carte d'entrée" +msgstr "Contrôles" #: tools/editor/project_settings.cpp msgid "Action:" @@ -5459,7 +5506,7 @@ msgstr "Traductions :" #: tools/editor/project_settings.cpp msgid "Add.." -msgstr "Ajouter..." +msgstr "Ajouter…" #: tools/editor/project_settings.cpp msgid "Remaps" @@ -5499,7 +5546,7 @@ msgstr "Extensions" #: tools/editor/property_editor.cpp msgid "Preset.." -msgstr "Pré-réglage..." +msgstr "Pré-réglage…" #: tools/editor/property_editor.cpp msgid "Ease In" @@ -5523,11 +5570,11 @@ msgstr "Ease out-in" #: tools/editor/property_editor.cpp msgid "File.." -msgstr "Fichier..." +msgstr "Fichier…" #: tools/editor/property_editor.cpp msgid "Dir.." -msgstr "Répertoire..." +msgstr "Répertoire…" #: tools/editor/property_editor.cpp msgid "Load" @@ -5655,8 +5702,8 @@ msgstr "OK" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5699,7 +5746,7 @@ msgstr "Cette opération ne peut être réalisée sur des scènes instanciées." #: tools/editor/scene_tree_dock.cpp msgid "Save New Scene As.." -msgstr "Enregistrer la nouvelle scène sous..." +msgstr "Enregistrer la nouvelle scène sous…" #: tools/editor/scene_tree_dock.cpp msgid "Makes Sense!" @@ -5768,7 +5815,6 @@ msgid "Add Script" msgstr "Ajouter un script" #: tools/editor/scene_tree_dock.cpp -#, fuzzy msgid "Merge From Scene" msgstr "Fusionner depuis la scène" @@ -5822,7 +5868,7 @@ msgstr "Renommer le nÅ“ud" #: tools/editor/scene_tree_editor.cpp msgid "Scene Tree (Nodes):" -msgstr "" +msgstr "Arbre de scène (nÅ“uds) :" #: tools/editor/scene_tree_editor.cpp msgid "Editable Children" @@ -5833,6 +5879,10 @@ msgid "Load As Placeholder" msgstr "Charger en tant que fictif" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Ouvrir dans l'éditeur" @@ -5882,24 +5932,23 @@ msgstr "Instance" #: tools/editor/scenes_dock.cpp msgid "Edit Dependencies.." -msgstr "Modifier les dépendances..." +msgstr "Modifier les dépendances…" #: tools/editor/scenes_dock.cpp msgid "View Owners.." -msgstr "Voir les propriétaires..." +msgstr "Voir les propriétaires…" #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Copier paramètres" +msgstr "Copier le chemin" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." -msgstr "Renommer ou déplacer..." +msgstr "Renommer ou déplacer…" #: tools/editor/scenes_dock.cpp msgid "Move To.." -msgstr "Déplacer vers..." +msgstr "Déplacer vers…" #: tools/editor/scenes_dock.cpp msgid "Info" @@ -6058,19 +6107,16 @@ msgid "Stack Trace (if applicable):" msgstr "Trace de pile (si applicable) :" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote Inspector" -msgstr "Inspecteur" +msgstr "Inspecteur distant" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Live Scene Tree:" -msgstr "Arbre des scènes :" +msgstr "Arbre des scènes en direct :" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote Object Properties: " -msgstr "Propriétés de l'objet." +msgstr "Propriétés de l'objet distant : " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" @@ -6085,9 +6131,8 @@ msgid "Value" msgstr "Valeur" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Monitors" -msgstr "Moniteur" +msgstr "Moniteurs" #: tools/editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" @@ -6135,7 +6180,7 @@ msgstr "Définir depuis l'arbre" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Raccourcis" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6159,26 +6204,26 @@ msgstr "Changer les extents d'une forme en boîte" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Radius" -msgstr "" +msgstr "Changer le rayon d'une forme en capsule" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Capsule Shape Height" -msgstr "" +msgstr "Changer la hauteur d'une forme en capsule" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Ray Shape Length" -msgstr "" +msgstr "Changer la longueur d'une forme en rayon" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Notifier Extents" -msgstr "" +msgstr "Changer les extents d'un notificateur" + +#~ msgid "Method In Node:" +#~ msgstr "Méthode dans le nÅ“ud :" #~ msgid "Edit Connections.." #~ msgstr "Modifier les connexions..." -#~ msgid "Connections:" -#~ msgstr "Connexions :" - #~ msgid "Set Params" #~ msgstr "Définir paramètres" diff --git a/tools/translations/it.po b/tools/translations/it.po index 633caf62f8..dfb0eb522a 100644 --- a/tools/translations/it.po +++ b/tools/translations/it.po @@ -1,21 +1,65 @@ -# LANGUAGE translation of the Godot Engine editor +# Italian translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# # Dario Bonfanti <bonfi.96@hotmail.it>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" +"PO-Revision-Date: 2016-06-19 09:39+0000\n" "Last-Translator: Dario Bonfanti <bonfi.96@hotmail.it>\n" -"Language-Team: Italian\n" +"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/" +"godot/it/>\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.7\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +#, fuzzy +msgid "Not a script with an instance" +msgstr "Nessuna scena da istanziare selezionata!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +#, fuzzy +msgid "Not based on a resource file" +msgstr "Nessuna risorsa font di destinazione!" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" #: scene/2d/animated_sprite.cpp msgid "" @@ -42,8 +86,8 @@ msgid "" msgstr "" "CollisionPolygon2D serve a fornire una forma di collisione ad un nodo " "derivato di CollisionObject2D. Si prega di utilizzarlo solamente come figlio " -"di Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. in modo da dargli " -"una forma." +"di Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. in modo da " +"dargli una forma." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -86,8 +130,8 @@ msgstr "" #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" msgstr "" -"Il poligono di occlusione per questo occlusore è vuoto. Per favore disegna un " -"poligono!" +"Il poligono di occlusione per questo occlusore è vuoto. Per favore disegna " +"un poligono!" #: scene/2d/navigation_polygon.cpp msgid "" @@ -95,7 +139,8 @@ msgid "" "Please set a property or draw a polygon." msgstr "" "Una risorsa NavigationPolygon deve essere impostata o creata affinché questo " -"nodo funzioni. Si prega di impostare una proprietà o di disegnare un poligono." +"nodo funzioni. Si prega di impostare una proprietà o di disegnare un " +"poligono." #: scene/2d/navigation_polygon.cpp msgid "" @@ -126,7 +171,8 @@ msgstr "" #: scene/2d/remote_transform_2d.cpp msgid "Path property must point to a valid Node2D node to work." -msgstr "La proprietà path deve puntare ad un nodo Node2D valido per funzionare." +msgstr "" +"La proprietà path deve puntare ad un nodo Node2D valido per funzionare." #: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp msgid "" @@ -138,27 +184,27 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "La proprietà path deve puntare a un nodo Viewport valido per poter " "funzionare. Tale Viewport deve essere impostata in modalità 'render target'." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" -"Il Viewport impostato nella proprietà path deve essere impostato come 'render " -"target' affinché questa sprite funzioni." +"Il Viewport impostato nella proprietà path deve essere impostato come " +"'render target' affinché questa sprite funzioni." #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D funziona al meglio quando usato direttamente come genitore " -"con il root della scena modificata." +"VisibilityEnable2D funziona al meglio quando usato direttamente come " +"genitore con il root della scena modificata." #: scene/3d/body_shape.cpp msgid "" @@ -166,8 +212,8 @@ msgid "" "derived node. Please only use it as a child of Area, StaticBody, RigidBody, " "KinematicBody, etc. to give them a shape." msgstr "" -"CollisionShape serve a fornire una forma di collisione ad un nodo derivato di " -"CollisionObject. Si prega di utilizzarlo solamente come figlio di Area, " +"CollisionShape serve a fornire una forma di collisione ad un nodo derivato " +"di CollisionObject. Si prega di utilizzarlo solamente come figlio di Area, " "StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una forma." #: scene/3d/body_shape.cpp @@ -184,9 +230,10 @@ msgid "" "CollisionObject derived node. Please only use it as a child of Area, " "StaticBody, RigidBody, KinematicBody, etc. to give them a shape." msgstr "" -"CollisionPolygon serve solamente a fornire una forma di collisione ad un nodo " -"derivato di CollisionObject. Si prega di usarlo solamente come figlio di " -"Area, StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una forma." +"CollisionPolygon serve solamente a fornire una forma di collisione ad un " +"nodo derivato di CollisionObject. Si prega di usarlo solamente come figlio " +"di Area, StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una " +"forma." #: scene/3d/collision_polygon.cpp msgid "An empty CollisionPolygon has no effect on collision." @@ -200,8 +247,8 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" "NavigationMeshInstance deve essere un figlio o nipote di un nodo Navigation. " "Fornisce solamente dati per la navigazione." @@ -222,29 +269,28 @@ msgstr "" "'samples' affinché SpatialSamplePlayer riproduca un suono." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" "Una risorsa SpriteFrames deve essere creata o impostata nella proprietà " -"'Frames' affinché AnimatedSprite mostri i frame." +"'Frames' affinché AnimatedSprite3D mostri i frame." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" -msgstr "Cancella" +msgstr "Annulla" #: scene/gui/dialogs.cpp msgid "OK" -msgstr "" +msgstr "OK" #: scene/gui/dialogs.cpp msgid "Alert!" -msgstr "" +msgstr "Attenzione!" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "" +msgstr "Si Prega Di Confermare..." #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "File Exists, Overwrite?" @@ -266,24 +312,20 @@ msgid "Open" msgstr "Apri" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Apri File(s) Sample" +msgstr "Apri un File" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Apri File(s) Sample" +msgstr "Apri File(s)" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Scegli una Directory" +msgstr "Apri una Directory" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Scegli una Directory" +msgstr "Apri un File o una Directory" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -309,7 +351,7 @@ msgstr "Percorso:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "Directories & Files:" -msgstr "Directories & Files:" +msgstr "Directory e File:" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/script_editor_debugger.cpp @@ -347,7 +389,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -410,7 +452,8 @@ msgstr "Incolla" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Seleziona tutti" @@ -430,8 +473,8 @@ msgstr "Annulla" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "I popup saranno nascosti di default a meno che vengano chiamate la funzione " "popup() o qualsiasi altra funzione popup*(). Renderli visibili per la " @@ -444,15 +487,15 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" -"Questo viewport non è impostato come target di render. Se si vuole che il suo " -"contenuto venga direttamente mostrato a schermo, renderlo figlio di un " +"Questo viewport non è impostato come target di render. Se si vuole che il " +"suo contenuto venga direttamente mostrato a schermo, renderlo figlio di un " "Control, in modo che possa ottenere una dimensione. Altrimenti, renderlo un " "RenderTarget e assegnare alla sua texture interna qualche nodo da mostrare." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error initializing FreeType." -msgstr "Errore inizializzazione FreeType" +msgstr "Errore inizializzazione FreeType." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -523,15 +566,15 @@ msgstr "Imposta Transizione a:" #: tools/editor/animation_editor.cpp msgid "Anim Track Rename" -msgstr "Traccia Anim Rinomina " +msgstr "Traccia Anim Rinomina" #: tools/editor/animation_editor.cpp msgid "Anim Track Change Interpolation" -msgstr "Traccia Anim Cambia Interpolazione " +msgstr "Traccia Anim Cambia Interpolazione" #: tools/editor/animation_editor.cpp msgid "Anim Track Change Value Mode" -msgstr "Traccia Anim Cambia Modalità Valore " +msgstr "Traccia Anim Cambia Modalità Valore" #: tools/editor/animation_editor.cpp msgid "Edit Node Curve" @@ -546,6 +589,20 @@ msgid "Anim Delete Keys" msgstr "Anim Elimina Key" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Continuous" +msgstr "Continua" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Discrete" +msgstr "Disconnetti" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "Anim Aggiungi Key" @@ -653,6 +710,11 @@ msgid "Change Anim Loop" msgstr "Cambia Loop Animazione" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Change Anim Loop Interpolation" +msgstr "Cambia Loop Animazione" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "Anim Crea Typed Value Key" @@ -693,6 +755,11 @@ msgid "Enable/Disable looping in animation." msgstr "Attiva/Disattiva loop animazione." #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Enable/Disable interpolation when looping animation." +msgstr "Attiva/Disattiva loop animazione." + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "Aggiungi nuova traccia." @@ -722,7 +789,7 @@ msgstr "Ottimizzatore Anim." #: tools/editor/animation_editor.cpp msgid "Max. Linear Error:" -msgstr ":Max. Errore Lineare" +msgstr "Max. Errore Lineare:" #: tools/editor/animation_editor.cpp msgid "Max. Angular Error:" @@ -746,7 +813,7 @@ msgstr "Transizione" #: tools/editor/animation_editor.cpp msgid "Scale Ratio:" -msgstr "Ratio di scalatura" +msgstr "Ratio di scalatura:" #: tools/editor/animation_editor.cpp msgid "Call Functions in Which Node?" @@ -813,22 +880,20 @@ msgid "Site:" msgstr "Sito:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Esporta.." +msgstr "Supporta.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Ufficiale" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Comunità " #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Impostazioni" +msgstr "Testing" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -876,28 +941,24 @@ msgid "Line Number:" msgstr "Numero Linea:" #: tools/editor/code_editor.cpp -#, fuzzy msgid "No Matches" -msgstr "Corrispondenze:" +msgstr "Nessuna Corrispondenza" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Replaced %d Ocurrence(s)." -msgstr "Rimpiazzate %d occorrenze." +msgstr "Rimpiazzate %d Occorrenze." #: tools/editor/code_editor.cpp msgid "Replace" msgstr "Rimpiazza" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Replace All" -msgstr "Rimpiazza" +msgstr "Rimpiazza Tutti" #: tools/editor/code_editor.cpp -#, fuzzy msgid "Match Case" -msgstr "Corrispondenze:" +msgstr "Controlla Maiuscole" #: tools/editor/code_editor.cpp msgid "Whole Words" @@ -944,7 +1005,7 @@ msgstr "All'indietro" #: tools/editor/code_editor.cpp msgid "Prompt On Replace" -msgstr "Richiedi Per Rimpiazzare" +msgstr "Richiedi Per Sostituire" #: tools/editor/code_editor.cpp msgid "Skip" @@ -960,16 +1021,13 @@ msgstr "Col:" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "Il Metodo nel nodo di target deve essere specificato! " +msgstr "Il Metodo nel nodo di target deve essere specificato!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +#, fuzzy +msgid "Conect To Node:" msgstr "Collega A Nodo:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "Lega (Parametri Extra):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -979,17 +1037,24 @@ msgstr "Aggiungi" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Rimuovi" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Percorso Al Nodo:" +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Extra Call Arguments:" +msgstr "Argomenti:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Metodo Nel Nodo:" +#, fuzzy +msgid "Path to Node:" +msgstr "Percorso Al Nodo:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -1012,6 +1077,11 @@ msgid "Connect '%s' to '%s'" msgstr "Connetti '%s' a '%s'" #: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Connecting Signal:" +msgstr "Connessioni:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "Crea Sottoscrizione" @@ -1025,9 +1095,8 @@ msgid "Disconnect" msgstr "Disconnetti" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Segnali:" +msgstr "Segnali" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1067,15 +1136,13 @@ msgid "Dependencies" msgstr "Dipendenze" #: tools/editor/dependency_editor.cpp -#, fuzzy msgid "Resource" -msgstr "Risorse" +msgstr "Risorsa" #: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp #: tools/editor/project_settings.cpp -#, fuzzy msgid "Path" -msgstr "Percorso:" +msgstr "Percorso" #: tools/editor/dependency_editor.cpp msgid "Dependencies:" @@ -1091,7 +1158,7 @@ msgstr "Editor Dipendenze" #: tools/editor/dependency_editor.cpp msgid "Search Replacement Resource:" -msgstr "Cerca Risorsa di Rimpiazzo" +msgstr "Cerca Risorsa di Rimpiazzo:" #: tools/editor/dependency_editor.cpp msgid "Owners Of:" @@ -1103,6 +1170,9 @@ msgid "" "work.\n" "Remove them anyway? (no undo)" msgstr "" +"I file che stanno per essere rimossi sono richiesti da altre risorse perchè " +"esse funzionino.\n" +"Rimuoverli comunque? (no undo)" #: tools/editor/dependency_editor.cpp msgid "Remove selected files from the project? (no undo)" @@ -1153,7 +1223,8 @@ msgid "Delete selected files?" msgstr "Eliminare i file selezionati?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Elimina" @@ -1228,7 +1299,7 @@ msgstr "Metodi Pubblici:" #: tools/editor/editor_help.cpp msgid "Members:" -msgstr "Membri" +msgstr "Membri:" #: tools/editor/editor_help.cpp msgid "GUI Theme Items:" @@ -1268,7 +1339,7 @@ msgstr "Errore di salvataggio dell'atlas:" #: tools/editor/editor_import_export.cpp msgid "Could not save atlas subtexture:" -msgstr "Impossibile salvare la substruttura dell'atlas" +msgstr "Impossibile salvare la substruttura dell'atlas:" #: tools/editor/editor_import_export.cpp msgid "Storing File:" @@ -1276,7 +1347,7 @@ msgstr "Memorizzazione File:" #: tools/editor/editor_import_export.cpp msgid "Packing" -msgstr "Packing" +msgstr "Impacchettando" #: tools/editor/editor_import_export.cpp msgid "Exporting for %s" @@ -1287,9 +1358,8 @@ msgid "Setting Up.." msgstr "Impostando.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "Output" +msgstr " Output:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1376,7 +1446,7 @@ msgstr "Errore di salvataggio TileSet!" #: tools/editor/editor_node.cpp msgid "Can't open export templates zip." -msgstr "Impossibile aprire zip dei template d'esportazionie" +msgstr "Impossibile aprire zip dei template d'esportazionie." #: tools/editor/editor_node.cpp msgid "Loading Export Templates" @@ -1403,9 +1473,8 @@ msgid "Copy Params" msgstr "Copia parametri" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Incolla Frame" +msgstr "Incolla Parametri" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1425,9 +1494,8 @@ msgid "Make Sub-Resources Unique" msgstr "Rendi Sotto-risorse Uniche" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Apri Scena" +msgstr "Apri in Aiuto" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1438,6 +1506,9 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"Nessuna scena principale è mai stata definita.\n" +"Selezionane una da \"Impostazioni Progetto\" sotto la categoria " +"'applicazioni'." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1526,11 +1597,12 @@ msgid "Quick Run Scene.." msgstr "Esegui Scena Rapido.." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Open Project Manager? \n" "(Unsaved changes will be lost)" -msgstr "Chiudi scena? (I cambiamenti non salvati saranno persi)" +msgstr "" +"Aprire la Gestione Progetti?\n" +"(I cambiamenti non salvati saranno persi)" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1538,8 +1610,8 @@ msgstr "Ugh" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "Errore di caricamento scena, deve essere all'interno del percorso del " "progetto. Usare 'Importa' per aprire la scena, salvarla poi nel percorso del " @@ -1558,9 +1630,8 @@ msgid "Save Layout" msgstr "Salva layout" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Salva layout" +msgstr "Carica Layout" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1592,6 +1663,14 @@ msgid "Go to previously opened scene." msgstr "Vai alla scena precedentemente aperta." #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "Operazioni con i file delle scene." @@ -1605,7 +1684,7 @@ msgstr "Nuova Scena Ereditata.." #: tools/editor/editor_node.cpp msgid "Open Scene.." -msgstr "Apri Scena" +msgstr "Apri Scena.." #: tools/editor/editor_node.cpp msgid "Save Scene" @@ -1624,9 +1703,8 @@ msgid "Open Recent" msgstr "Apri Recente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Ricerca File Rapida.." +msgstr "Filtro Files Rapido.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1683,7 +1761,7 @@ msgstr "Importa" #: tools/editor/editor_node.cpp msgid "Miscellaneous project or scene-wide tools." -msgstr "Strumenti di progetto o scene vari" +msgstr "Strumenti di progetto o scena vari." #: tools/editor/editor_node.cpp msgid "Tools" @@ -1698,9 +1776,8 @@ msgid "Export" msgstr "Esporta" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Esegui il progetto (F5)." +msgstr "Esegui il progetto." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1708,19 +1785,16 @@ msgid "Play" msgstr "Play" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause the scene" -msgstr "Esegui scena personalizzata" +msgstr "Metti in pausa la scena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Esegui scena personalizzata" +msgstr "Pausa Scena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Ferma la scena (F8)." +msgstr "Ferma la scena." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1728,14 +1802,12 @@ msgid "Stop" msgstr "Stop" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Esegui la scena in modifica (F6)." +msgstr "Esegui la scena in modifica." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Salva Scena" +msgstr "Esegui Scena" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1746,19 +1818,20 @@ msgid "Debug options" msgstr "Opzioni di Debug" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" -msgstr "Distribuisci Debug Remoto" +msgstr "Distribuisci con Debug Remoto" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"All'esportazione o distribuzione, l'eseguibile risultante tenterà di " +"connettersi all'IP di questo computer per poter effettuare il debug." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Distribuzione Piccola con Network FS" #: tools/editor/editor_node.cpp msgid "" @@ -1766,9 +1839,14 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"Quando questa opzione è abilitata, esportare o distribuire produrrà un " +"eseguibile minimo.\n" +"Il filesystem verrà fornito dal progetto dall'editor mediante rete.\n" +"Su Android, la distribuzione userà il cavo USB per una performance migliore. " +"Questa opzione accellera il testing di giochi di grande entità ." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1779,6 +1857,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Le forme di collisione e i nodi di raycast (per il 2D e 3D) Saranno visibili " +"nel gioco in esecuzione se l'opzione è attiva." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1789,10 +1869,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Le mesh e i poligoni di navigazione saranno visibili nel gioco in esecuzione " +"se l'opzione è attiva." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Sincronizza Cambiamenti Scena" #: tools/editor/editor_node.cpp msgid "" @@ -1801,11 +1883,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Quando questa opzione è attiva, qualsiasi cambiamento fatto alla scena " +"nell'editor sarà replicato nel gioco in esecuzione.\n" +"Quando usata remotamente su un dispositivo, essa è più efficiente con il " +"filesystem in rete." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Aggiorna Cambiamenti" +msgstr "Sincronizza Cambiamenti Script" #: tools/editor/editor_node.cpp msgid "" @@ -1814,6 +1899,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Quando questa opzione è attiva, qualsiasi script salvato verrà ricaricato " +"nel gioco in esecuzione.\n" +"Quando usata remotamente su un dispositivo, essa è più efficiente con il " +"filesystem in rete." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1833,7 +1922,7 @@ msgstr "Installa Template di Esportazione" #: tools/editor/editor_node.cpp msgid "About" -msgstr "About" +msgstr "Riguardo a" #: tools/editor/editor_node.cpp msgid "Alerts when an external resource has changed." @@ -1841,7 +1930,7 @@ msgstr "Avverti quando una risorsa esterna è stata modificata." #: tools/editor/editor_node.cpp msgid "Spins when the editor window repaints!" -msgstr "Gira quando la finestra dell'editor viene ridisegnata. " +msgstr "Gira quando la finestra dell'editor viene ridisegnata!" #: tools/editor/editor_node.cpp msgid "Update Always" @@ -1865,11 +1954,9 @@ msgstr "Carica una risorsa esistente dal disco e modificala." #: tools/editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "Salva la risorsa in modifica" +msgstr "Salva la risorsa in modifica." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "Salva Come.." @@ -1944,69 +2031,63 @@ msgstr "Carica Errori" #: tools/editor/editor_plugin_settings.cpp msgid "Installed Plugins:" -msgstr "" +msgstr "Plugins Installati:" #: tools/editor/editor_plugin_settings.cpp -#, fuzzy msgid "Version:" -msgstr "Descrizione:" +msgstr "Versione:" #: tools/editor/editor_plugin_settings.cpp msgid "Author:" -msgstr "" +msgstr "Autore:" #: tools/editor/editor_plugin_settings.cpp msgid "Status:" -msgstr "" +msgstr "Stato:" #: tools/editor/editor_profiler.cpp msgid "Stop Profiling" -msgstr "" +msgstr "Interrrompi Profiling" #: tools/editor/editor_profiler.cpp msgid "Start Profiling" -msgstr "" +msgstr "Inizia Profiling" #: tools/editor/editor_profiler.cpp msgid "Measure:" -msgstr "" +msgstr "Misura:" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Frame Time (sec)" -msgstr "Tempo(i) di Crossfade: " +msgstr "Tempo Frame (sec)" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Average Time (sec)" -msgstr "Tempo(i) di Crossfade: " +msgstr "Tempo Medio (sec)" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Frame %" -msgstr "Aggiungi frame" +msgstr "Frame %" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Fixed Frame %" -msgstr "Aggiungi frame" +msgstr "Frame Fisso %" #: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp msgid "Time:" msgstr "Tempo:" #: tools/editor/editor_profiler.cpp -#, fuzzy msgid "Inclusive" -msgstr "Includi" +msgstr "Inclusivo" #: tools/editor/editor_profiler.cpp msgid "Self" -msgstr "" +msgstr "Se stesso" #: tools/editor/editor_profiler.cpp msgid "Frame #:" -msgstr "" +msgstr "Frame #:" #: tools/editor/editor_reimport_dialog.cpp msgid "Please wait for scan to complete." @@ -2014,7 +2095,7 @@ msgstr "Si prega di attendere che lo scan venga completato." #: tools/editor/editor_reimport_dialog.cpp msgid "Current scene must be saved to re-import." -msgstr "La scena corrente deve essere salvata per re-importare," +msgstr "La scena corrente deve essere salvata per re-importare." #: tools/editor/editor_reimport_dialog.cpp msgid "Save & Re-Import" @@ -2083,9 +2164,8 @@ msgid "Imported Resources" msgstr "Risorse Importate" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Nessun elemento da importare!" +msgstr "Nessuna bit mask da importare!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2116,9 +2196,8 @@ msgid "Save path is empty!" msgstr "Il percorso di salvataggio è vuoto!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Importa Textures" +msgstr "Importa BitMasks" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2145,7 +2224,7 @@ msgstr "Accetta" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Bit Mask" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2173,7 +2252,7 @@ msgstr "Dimensione Font sorgente:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Dest Resource:" -msgstr "Risorsa di dest." +msgstr "Risorsa di destin. :" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "The quick brown fox jumps over the lazy dog." @@ -2225,12 +2304,12 @@ msgstr "Importa Mesh Singola" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Source Mesh(es):" -msgstr "Mesh Sorgente(i)" +msgstr "Mesh Sorgente(i):" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh" -msgstr "" +msgstr "Mesh" #: tools/editor/io_plugins/editor_mesh_import_plugin.cpp msgid "Surface %d" @@ -2249,9 +2328,8 @@ msgid "Source Sample(s):" msgstr "Sample Sorgente(i):" #: tools/editor/io_plugins/editor_sample_import_plugin.cpp -#, fuzzy msgid "Audio Sample" -msgstr "Aggiungi Sample" +msgstr "Sample Audio" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "New Clip" @@ -2318,7 +2396,7 @@ msgstr "Il percorso sorgente è vuoto." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script." -msgstr "Impossibile caricare script di post-importazione" +msgstr "Impossibile caricare script di post-importazione." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Invalid/broken script for post-import." @@ -2354,12 +2432,11 @@ msgstr "Script di Post-Process:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Custom Root Node Type:" -msgstr "" +msgstr "Tipo di Nodo Root Personalizzato:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Auto" -msgstr "AutoLoad" +msgstr "Auto" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "The Following Files are Missing:" @@ -2401,7 +2478,7 @@ msgstr "Script di post-import invalido/non funzionante:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" -msgstr "Errore di esecuzione dello script di post-import" +msgstr "Errore di esecuzione dello script di post-import:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import Image:" @@ -2420,9 +2497,8 @@ msgid "Saving.." msgstr "Salvataggio.." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "3D Scene Animation" -msgstr "Rinomina Animazione" +msgstr "Animazione Scena 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Uncompressed" @@ -2446,7 +2522,7 @@ msgstr "Formato Texture" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture Compression Quality (WebP):" -msgstr "Qualità Compressione Texture (WebP)" +msgstr "Qualità Compressione Texture (WebP):" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Texture Options" @@ -2489,18 +2565,16 @@ msgid "Import Large Textures (2D)" msgstr "Importa Texture Grandi (2D)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Source Texture" -msgstr "Texture Sorgente:" +msgstr "Texture Sorgente" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Base Atlas Texture" msgstr "Texture Base Atlas" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Source Texture(s)" -msgstr "Texture Sorgenti:" +msgstr "Texture Sorgente(i)" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Textures for 2D" @@ -2515,34 +2589,32 @@ msgid "Import Textures" msgstr "Importa Textures" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "2D Texture" -msgstr "Texture Grande" +msgstr "Texture 2D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "3D Texture" -msgstr "Texture Grande" +msgstr "Texture 3D" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Atlas Texture" -msgstr "Texture Base Atlas" +msgstr "Texture dell'Atlas" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" +"NOTA: Importare texture 2D non è obbligatorio. Basta copiare i file png/jpg " +"nel progetto." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." msgstr "Ritaglia spazio vuoto." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp -#, fuzzy msgid "Texture" -msgstr "Testo" +msgstr "Texture" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Import Large Texture" @@ -2578,7 +2650,7 @@ msgstr "Immagine Caricamento:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Couldn't load image:" -msgstr "Impossibile caricare immagine" +msgstr "Impossibile caricare immagine:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Converting Images" @@ -2658,27 +2730,24 @@ msgid "Import Languages:" msgstr "Importa Lingue:" #: tools/editor/io_plugins/editor_translation_import_plugin.cpp -#, fuzzy msgid "Translation" -msgstr "Traduzioni" +msgstr "Traduzione" #: tools/editor/multi_node_edit.cpp msgid "MultiNode Set" msgstr "MultiNode Set" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "Node Mix" +msgstr "Nodo" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Gruppi:" +msgstr "Gruppi" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Seleziona un Nodo per modificare Segnali e Gruppi." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2721,7 +2790,7 @@ msgstr "Aggiungi Animazione" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Next Changed" -msgstr "Blend Next Changed" +msgstr "Fondi il Successivo Cambiato" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Change Blend Time" @@ -2757,7 +2826,8 @@ msgstr "ERRORE: Nessuna animazione da modificare!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" -msgstr "Esegui la seguente animazione al contrario dalla posizione corrente (A)" +msgstr "" +"Esegui la seguente animazione al contrario dalla posizione corrente (A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" @@ -2788,6 +2858,11 @@ msgid "Create new animation in player." msgstr "Crea nuova animazione nel player." #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Load animation from disk." +msgstr "Carica un'animazione da disco." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "Carica un'animazione da disco." @@ -2796,6 +2871,11 @@ msgid "Save the current animation" msgstr "Salva l'animazione corrente" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Save As" +msgstr "Salva Come.." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "Mostra una lista di animazioni nel player." @@ -2833,7 +2913,7 @@ msgstr "Errore!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Blend Times:" -msgstr "Tempi di Blend" +msgstr "Tempi di Blend:" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" @@ -2845,9 +2925,8 @@ msgstr "Tempi di Blend Cross-Animation" #: tools/editor/plugins/animation_player_editor_plugin.cpp #: tools/editor/plugins/canvas_item_editor_plugin.cpp -#, fuzzy msgid "Animation" -msgstr "Animazioni" +msgstr "Animazione" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "New name:" @@ -2856,7 +2935,7 @@ msgstr "Nuovo nome:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Scale:" -msgstr "Scala" +msgstr "Scala:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Fade In (s):" @@ -2888,7 +2967,7 @@ msgstr "Restart Casuale(i):" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Start!" -msgstr "Inizia" +msgstr "Inizia!" #: tools/editor/plugins/animation_tree_editor_plugin.cpp #: tools/editor/plugins/multimesh_editor_plugin.cpp @@ -2909,11 +2988,11 @@ msgstr "Blend 1:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "X-Fade Time (s):" -msgstr "Tempo(i) di Crossfade: " +msgstr "Tempo(i) di Crossfade:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Current:" -msgstr "Corrente" +msgstr "Corrente:" #: tools/editor/plugins/animation_tree_editor_plugin.cpp msgid "Add Input" @@ -3013,7 +3092,7 @@ msgstr "Aggiustando le Luci" #: tools/editor/plugins/baked_light_baker.cpp msgid "Making BVH" -msgstr "Making BVH" +msgstr "Creazione BVH" #: tools/editor/plugins/baked_light_baker.cpp msgid "Creating Light Octree" @@ -3070,7 +3149,7 @@ msgstr "Offset Griglia:" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Grid Step:" -msgstr "Step:griglia" +msgstr "Step Griglia:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Offset:" @@ -3159,11 +3238,11 @@ msgstr "Modalità di Pan" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Lock the selected object in place (can't be moved)." -msgstr "Blocca l'oggetto selezionato sul posto (non può essere mosso)" +msgstr "Blocca l'oggetto selezionato sul posto (non può essere mosso)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Unlock the selected object (can be moved)." -msgstr "Sblocca l'oggetto selezionato (può essere mosso). " +msgstr "Sblocca l'oggetto selezionato (può essere mosso)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Makes sure the object's children are not selectable." @@ -3422,7 +3501,7 @@ msgstr "Crea Corpo Convesso Statico" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "This doesn't work on scene root!" -msgstr "Questo non funziona sulla root della scena! " +msgstr "Questo non funziona sulla root della scena!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Shape" @@ -3528,7 +3607,7 @@ msgstr "Seleziona una Mesh Sorgente:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Select a Target Surface:" -msgstr "Seleziona una Superficie di Target: " +msgstr "Seleziona una Superficie di Target:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Populate Surface" @@ -3560,11 +3639,11 @@ msgstr "Asse-Z" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Mesh Up Axis:" -msgstr "Asse Mesh Su" +msgstr "Asse Mesh Su:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Random Rotation:" -msgstr "Rotazione Casuale" +msgstr "Rotazione Casuale:" #: tools/editor/plugins/multimesh_editor_plugin.cpp msgid "Random Tilt:" @@ -3644,7 +3723,7 @@ msgstr "Cancella Emitter" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Create Emitter" -msgstr "Crea Emitter:" +msgstr "Crea Emitter" #: tools/editor/plugins/particles_editor_plugin.cpp msgid "Emission Positions:" @@ -3846,7 +3925,7 @@ msgstr "Carica Risorsa" #: tools/editor/plugins/rich_text_editor_plugin.cpp msgid "Parse BBCode" -msgstr "Parse BBCode" +msgstr "Decodifica BBCode" #: tools/editor/plugins/sample_editor_plugin.cpp msgid "Length:" @@ -3898,36 +3977,31 @@ msgid "Pitch" msgstr "Pitch" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error while saving theme" -msgstr "Errore durante il salvataggio." +msgstr "Errore durante il salvataggio del tema" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error saving" -msgstr "Errore di salvataggio dell'atlas:" +msgstr "Errore di salvataggio" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing theme" -msgstr "Errore di importazione scena." +msgstr "Errore di importazione tema" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Error importing" -msgstr "Errore di importazione:" +msgstr "Errore di importazione" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Import Theme" -msgstr "Importa Scena" +msgstr "Importa Tema" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme As.." -msgstr "Salva Scena Come.." +msgstr "Salva Tema Come.." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "File" @@ -3949,19 +4023,16 @@ msgid "History Next" msgstr "Cronologia Prec." #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Reload Theme" -msgstr "Ricarica" +msgstr "Ricarica Tema" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme" -msgstr "Salva Scena" +msgstr "Salva Tema" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Save Theme As" -msgstr "Salva Scena Come.." +msgstr "Salva Tema Come" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/scene_tree_dock.cpp @@ -3995,7 +4066,7 @@ msgstr "Completa Simbolo" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Trim Trailing Whitespace" -msgstr "Taglia Spazi in Coda " +msgstr "Taglia Spazi in Coda" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Auto Indent" @@ -4003,12 +4074,8 @@ msgstr "Auto Indenta" #: tools/editor/plugins/script_editor_plugin.cpp #, fuzzy -msgid "Reload Tool Script" -msgstr "Crea Script Nodo" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "Ricarica Tool Script" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4023,7 +4090,7 @@ msgstr "Trova Successivo" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Find Previous" -msgstr "" +msgstr "Trova Precedente" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4048,19 +4115,16 @@ msgid "Toggle Breakpoint" msgstr "Abilita Breakpoint" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Remove All Breakpoints" -msgstr "Abilita Breakpoint" +msgstr "Rimuovi Tutti i Breakpoints" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Goto Next Breakpoint" -msgstr "Vai a Step Successivo" +msgstr "Vai a Breakpoint Successivo" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy msgid "Goto Previous Breakpoint" -msgstr "Abilita Breakpoint" +msgstr "Vai a Breakpoint Precedente" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/script_editor_debugger.cpp @@ -4103,7 +4167,8 @@ msgid "Help" msgstr "Aiuto" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +#, fuzzy +msgid "Contextual Help" msgstr "Contestuale" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4147,7 +4212,8 @@ msgid "" "The following files are newer on disk.\n" "What action should be taken?:" msgstr "" -"I file seguenti sono più recenti su disco. Che azione deve essere intrapresa?" +"I file seguenti sono più recenti su disco.\n" +"Che azione deve essere intrapresa?:" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Reload" @@ -4311,20 +4377,20 @@ msgid "Transform Aborted." msgstr "Transform Abortito." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "Visualizza Tranform del Piano." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." -msgstr "Transform Asse-X" +msgstr "Transform Asse-X." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Y-Axis Transform." -msgstr "Transform Asse-Y" +msgstr "Transform Asse-Y." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Z-Axis Transform." -msgstr "Transform Asse-Z" +msgstr "Transform Asse-Z." + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "Visualizza Tranform del Piano." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." @@ -4336,7 +4402,7 @@ msgstr "Ruotando di %s gradi." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "Vista dal Basso" +msgstr "Vista dal Basso." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -4408,7 +4474,7 @@ msgstr "Sinistra (Num3)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Right (Shift+Num3)" -msgstr "Right (Shift+Num3)" +msgstr "Destra (Shift+Num3)" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Front (Num1)" @@ -4467,9 +4533,8 @@ msgid "Scale Mode (R)" msgstr "Modalità Scala (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform" -msgstr "Tipo Transform" +msgstr "Transform" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Local Coords" @@ -4489,30 +4554,27 @@ msgstr "Usa sRGB Default" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 Vista" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "2 Viewports" -msgstr "Impostazioni Viewport" +msgstr "2 Viste" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 Viste (Alt)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "3 Viewports" -msgstr "Impostazioni Viewport" +msgstr "3 Viste" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 Viste (Alt)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "4 Viewports" -msgstr "Impostazioni Viewport" +msgstr "4 Viste" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -4544,7 +4606,7 @@ msgstr "Impostazioni Snap" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Translate Snap:" -msgstr "Trasla Snap: " +msgstr "Trasla Snap:" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Rotate Snap (deg.):" @@ -4668,23 +4730,23 @@ msgstr "Giù" #: tools/editor/plugins/style_box_editor_plugin.cpp msgid "StyleBox Preview:" -msgstr "Anteprima StyleBox" +msgstr "Anteprima StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Editor Regioni Sprite" +msgstr "Editor Regioni Texture" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Editor Regioni Sprite" +msgstr "Scala Editor Regioni" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"Nessuna texture in questo nodo.\n" +"Imposta una texture per poter modificare la regione." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -4712,7 +4774,13 @@ msgid "Remove Class Items" msgstr "Rimuovi Elementi di Classe" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" +#, fuzzy +msgid "Create Empty Template" +msgstr "Crea Template" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Create Empty Editor Template" msgstr "Crea Template" #: tools/editor/plugins/theme_editor_plugin.cpp @@ -4799,34 +4867,42 @@ msgid "Erase TileMap" msgstr "Cancella TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Secchiello" - -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Preleva Tile" - -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Seleziona" +#, fuzzy +msgid "Erase selection" +msgstr "Elimina Selezione" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "Elimina Selezione" +#, fuzzy +msgid "Find tile" +msgstr "Trova Successivo" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "Trasponi" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" +#, fuzzy +msgid "Mirror X" msgstr "Specchia X (A)" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" +#, fuzzy +msgid "Mirror Y" msgstr "Specchia Y (A)" #: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "Secchiello" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "Preleva Tile" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "Seleziona" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" msgstr "Ruota a 0 gradi" @@ -4860,11 +4936,11 @@ msgstr "Unisci da scena?" #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Create from Scene" -msgstr "Crea da Scena?" +msgstr "Crea da Scena" #: tools/editor/plugins/tile_set_editor_plugin.cpp msgid "Merge from Scene" -msgstr "Unisci da Scena?" +msgstr "Unisci da Scena" #: tools/editor/plugins/tile_set_editor_plugin.cpp #: tools/editor/script_editor_debugger.cpp @@ -4885,7 +4961,7 @@ msgstr "Errore di esportazione del progetto!" #: tools/editor/project_export.cpp msgid "Error writing the project PCK!" -msgstr "Errore di scrittura del PCK del progetto." +msgstr "Errore di scrittura del PCK del progetto!" #: tools/editor/project_export.cpp msgid "No exporter for platform '%s' yet." @@ -4978,7 +5054,7 @@ msgstr "" #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." -msgstr "Converti le scene in formato testuale in binario all'esportazione. " +msgstr "Converti le scene in formato testuale in binario all'esportazione." #: tools/editor/project_export.cpp msgid "Images" @@ -5006,7 +5082,7 @@ msgstr "Qualità compressione per disco (Lossy):" #: tools/editor/project_export.cpp msgid "Shrink All Images:" -msgstr "Riduci Tutte le Immagini: " +msgstr "Riduci Tutte le Immagini:" #: tools/editor/project_export.cpp msgid "Compress Formats:" @@ -5093,9 +5169,8 @@ msgid "Trailing Silence:" msgstr "Silenzio di coda:" #: tools/editor/project_export.cpp -#, fuzzy msgid "Script" -msgstr "Esegui Script" +msgstr "Script" #: tools/editor/project_export.cpp msgid "Script Export Mode:" @@ -5212,14 +5287,12 @@ msgstr "" "modificati)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Nome Progetto:" +msgstr "Gestione Progetti" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Esci alla Lista Progetti" +msgstr "Lista Progetti" #: tools/editor/project_manager.cpp msgid "Run" @@ -5239,22 +5312,19 @@ msgstr "Esci" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "" +msgstr "Tasto " #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Button" -msgstr "Pulsante" +msgstr "Pulsante Joy" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Axis" -msgstr "Asse" +msgstr "Asse Joy" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Mouse Button" -msgstr "Indice Pulsante Mouse:" +msgstr "Pulsante Mouse" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5379,14 +5449,12 @@ msgstr "" "globale esistente." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "L'Azione '%s' esiste già !" +msgstr "Autoload '%s' esiste già !" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Rimuovi Autoload" +msgstr "Rinomina Autoload" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5650,7 +5718,7 @@ msgstr "Scena Principale" #: tools/editor/run_settings_dialog.cpp msgid "Main Scene Arguments:" -msgstr "Argomenti Scena Principale" +msgstr "Argomenti Scena Principale:" #: tools/editor/run_settings_dialog.cpp msgid "Scene Run Settings" @@ -5678,8 +5746,8 @@ msgstr "Ok" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" "Impossibile istanziale la scena '%s' perché la scena corrente esiste in uno " "dei suoi nodi." @@ -5690,7 +5758,7 @@ msgstr "Istanzia Scena(e)" #: tools/editor/scene_tree_dock.cpp msgid "This operation can't be done on the tree root." -msgstr "Questa operazione non può essere eseguita alla tree root" +msgstr "Questa operazione non può essere eseguita alla radice dell'albero." #: tools/editor/scene_tree_dock.cpp msgid "Move Node In Parent" @@ -5749,8 +5817,8 @@ msgid "" "Couldn't save new scene. Likely dependencies (instances) couldn't be " "satisfied." msgstr "" -"Impossibile salvare la scena. Probabili dipendenze (istanze) non hanno potuto " -"essere soddisfatte." +"Impossibile salvare la scena. Probabili dipendenze (istanze) non hanno " +"potuto essere soddisfatte." #: tools/editor/scene_tree_dock.cpp msgid "Error saving scene." @@ -5793,9 +5861,8 @@ msgid "Add Script" msgstr "Aggiungi Script" #: tools/editor/scene_tree_dock.cpp -#, fuzzy msgid "Merge From Scene" -msgstr "Unisci da Scena?" +msgstr "Unisci Da Scena" #: tools/editor/scene_tree_dock.cpp msgid "Save Branch as Scene" @@ -5858,6 +5925,10 @@ msgid "Load As Placeholder" msgstr "Carica come placeholder" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Apri nell Editor" @@ -5916,9 +5987,8 @@ msgid "View Owners.." msgstr "Vedi Proprietari.." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Copia parametri" +msgstr "Copia Percorso" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -6022,7 +6092,7 @@ msgstr "Percorso valido" #: tools/editor/script_create_dialog.cpp msgid "Class Name:" -msgstr "Nome Classe" +msgstr "Nome Classe:" #: tools/editor/script_create_dialog.cpp msgid "Built-In Script" @@ -6085,23 +6155,20 @@ msgid "Stack Trace (if applicable):" msgstr "Stack Trace (se applicabile):" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote Inspector" -msgstr "Inspector" +msgstr "Inspector Remoto" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Live Scene Tree:" -msgstr "Scene Tree:" +msgstr "Scene Tree Live:" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote Object Properties: " -msgstr "Proprietà oggetto." +msgstr "Proprietà Oggetto Remoto: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "Profiler" #: tools/editor/script_editor_debugger.cpp msgid "Monitor" @@ -6112,7 +6179,6 @@ msgid "Value" msgstr "Valore" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Monitors" msgstr "Monitor" @@ -6142,7 +6208,7 @@ msgstr "Utilizzo" #: tools/editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "Vari" #: tools/editor/script_editor_debugger.cpp msgid "Clicked Control:" @@ -6150,7 +6216,7 @@ msgstr "Clicked Control:" #: tools/editor/script_editor_debugger.cpp msgid "Clicked Control Type:" -msgstr "Clicked Control Type:" +msgstr "Tipo Clicked Control:" #: tools/editor/script_editor_debugger.cpp msgid "Live Edit Root:" @@ -6158,11 +6224,11 @@ msgstr "Modifica Root Live:" #: tools/editor/script_editor_debugger.cpp msgid "Set From Tree" -msgstr "Imposta da Tree:" +msgstr "Imposta da Tree" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Scorciatoie" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6200,12 +6266,18 @@ msgstr "Cambia lunghezza Ray Shape" msgid "Change Notifier Extents" msgstr "Cambia Estensione di Notifier" +#~ msgid "Binds (Extra Params):" +#~ msgstr "Lega (Parametri Extra):" + +#~ msgid "Method In Node:" +#~ msgstr "Metodo Nel Nodo:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "Ricarica Tool Script (Soft)" + #~ msgid "Edit Connections.." #~ msgstr "Modifica Connessioni.." -#~ msgid "Connections:" -#~ msgstr "Connessioni:" - #~ msgid "Set Params" #~ msgstr "Imposta parametri" @@ -6249,8 +6321,8 @@ msgstr "Cambia Estensione di Notifier" #~ msgstr "" #~ "NOTA: Non sei obbligato ad importare le texture per i progetti 2D. È " #~ "sufficiente copiare i tuoi file .jpg o .png nel tuo progetto, e cambiare " -#~ "le opzioni di esportazione successivamente. Gli atlas possono essere anche " -#~ "generati in esportazione." +#~ "le opzioni di esportazione successivamente. Gli atlas possono essere " +#~ "anche generati in esportazione." #~ msgid "Overwrite Existing Scene" #~ msgstr "Sovrascrivi Scena esistente" diff --git a/tools/translations/ko.po b/tools/translations/ko.po index 2a6ee8e06f..990a9aba82 100644 --- a/tools/translations/ko.po +++ b/tools/translations/ko.po @@ -1,21 +1,63 @@ -# LANGUAGE translation of the Godot Engine editor +# Korean translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +# volzhs <volzhs@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: volzhs <volzhs@gmail.com>\n" -"Language-Team: \n" +"PO-Revision-Date: 2016-06-19 13:30+0000\n" +"Last-Translator: 박한얼 <volzhs@gmail.com>\n" +"Language-Team: Korean <https://hosted.weblate.org/projects/godot-" +"engine/godot/ko/>\n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "convert()하기 위한 ì¸ìž íƒ€ìž…ì´ ìœ íš¨í•˜ì§€ 않습니다, TYPE_* ìƒìˆ˜ë¥¼ 사용하세요." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "ë””ì½”ë”©í• ë°”ì´íŠ¸ê°€ 모ìžë¼ê±°ë‚˜, ìœ íš¨í•˜ì§€ ì•Šì€ í˜•ì‹ìž…니다." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "ìŠ¤í… ì¸ìžê°€ ì œë¡œìž…ë‹ˆë‹¤!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "스í¬ë¦½íŠ¸ì˜ ì¸ìŠ¤í„´ìŠ¤ê°€ 아님" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "스í¬ë¦½íŠ¸ì— ê¸°ë°˜í•˜ì§€ 않ìŒ" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "리소스 파ì¼ì— 기반하지 않ìŒ" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—†ìŒ)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—서 스í¬ë¦½íŠ¸ë¥¼ ë¡œë“œí• ìˆ˜ ì—†ìŒ)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@pathì˜ ìŠ¤í¬ë¦½íŠ¸ê°€ ìœ íš¨í•˜ì§€ 않ìŒ)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary (서브í´ëž˜ìŠ¤ê°€ ìœ íš¨í•˜ì§€ 않ìŒ)" #: scene/2d/animated_sprite.cpp msgid "" @@ -30,8 +72,8 @@ msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" -"씬마다 ë³´ì´ëŠ” CanvasModulateê°€ 단 하나만 허용ë©ë‹ˆë‹¤. 첫번째로 ìƒì„±ëœ 것만 ë™ìž‘" -"í•˜ê³ , 나머지는 무시ë©ë‹ˆë‹¤." +"씬마다 ë³´ì´ëŠ” CanvasModulateê°€ 단 하나만 허용ë©ë‹ˆë‹¤. 첫번째로 ìƒì„±ëœ 것만 ë™" +"ìž‘í•˜ê³ , 나머지는 무시ë©ë‹ˆë‹¤." #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -40,8 +82,8 @@ msgid "" "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" "CollisionPolygon2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©" -"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가" -"하여 사용합니다." +"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 ì¶”" +"가하여 사용합니다." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -54,16 +96,16 @@ msgid "" "StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." msgstr "" "CollisionShape2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ" -"다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가하" -"ì—¬ 사용합니다." +"다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가" +"하여 사용합니다." #: scene/2d/collision_shape_2d.cpp msgid "" "A shape must be provided for CollisionShape2D to function. Please create a " "shape resource for it!" msgstr "" -"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 " -"리소스를 만드세요!" +"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모" +"ì–‘ 리소스를 만드세요!" #: scene/2d/light_2d.cpp msgid "" @@ -86,8 +128,8 @@ msgid "" "A NavigationPolygon resource must be set or created for this node to work. " "Please set a property or draw a polygon." msgstr "" -"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationPolygon 리소스를 ì§€ì • ë˜ëŠ” ìƒì„±í•´ì•¼ 합니" -"다. ì†ì„±ì„ ì§€ì •í•˜ê±°ë‚˜, í´ë¦¬ê³¤ì„ 그리세요." +"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationPolygon 리소스를 ì§€ì • ë˜ëŠ” ìƒì„±í•´ì•¼ í•©" +"니다. ì†ì„±ì„ ì§€ì •í•˜ê±°ë‚˜, í´ë¦¬ê³¤ì„ 그리세요." #: scene/2d/navigation_polygon.cpp msgid "" @@ -125,16 +167,16 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "Path ì†ì„±ì€ ìœ íš¨í•œ Viewport 노드를 가리켜야 합니다. 가리킨 Viewport는 ë˜í•œ " "'render target' 모드로 ì„¤ì •ë˜ì–´ì•¼ 합니다." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "ì´ Spriteê°€ ë™ìž‘하기 위해서는 Path ì†ì„±ì— ì§€ì •ëœ Viewportê°€ 'render target'으" "로 ì„¤ì •ë˜ì–´ì•¼ 합니다." @@ -162,8 +204,8 @@ msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" -"CollisionShapeì´ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 리소스를 " -"만드세요!" +"CollisionShapeì´ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 리소스" +"를 만드세요!" #: scene/3d/collision_polygon.cpp msgid "" @@ -187,11 +229,11 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" -"NavigationMeshInstanceì€ Navigation ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ 네비게" -"ì´ì…˜ ë°ì´íƒ€ë§Œì„ ì œê³µí•©ë‹ˆë‹¤." +"NavigationMeshInstanceì€ Navigation ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ 네비" +"게ì´ì…˜ ë°ì´íƒ€ë§Œì„ ì œê³µí•©ë‹ˆë‹¤." #: scene/3d/scenario_fx.cpp msgid "" @@ -390,7 +432,8 @@ msgstr "붙여넣기" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "ì „ì²´ì„ íƒ" @@ -410,8 +453,8 @@ msgstr "ë˜ëŒë¦¬ê¸°" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "Popupì€ popup() ë˜ëŠ” 기타 popup*() 함수를 호출하기 ì „ê¹Œì§€ëŠ” 기본ì 으로 숨겨집" "니다. í™”ë©´ì„ íŽ¸ì§‘í•˜ëŠ” ë™ì•ˆ 보여지ë„ë¡ í• ìˆ˜ëŠ” 있으나, 실행시ì—는 숨겨집니다." @@ -424,29 +467,29 @@ msgid "" "texture to some node for display." msgstr "" "Viewportê°€ Render Target으로 ì„¤ì •ë˜ì§€ 않았습니다. Viewportì˜ ë‚´ìš©ì„ í™”ë©´ìƒì— " -"ì§ì ‘ í‘œì‹œí•˜ê³ ìž í• ê²½ìš°, 사ì´ì¦ˆë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야합" -"니다. ê·¸ë ‡ì§€ ì•Šì„ ê²½ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 Render target으로 ì„¤ì •í•˜ê³ ë‚´" -"ë¶€ì ì¸ í…스ì³ë¥¼ 다른 ë…¸ë“œì— í• ë‹¹í•´ì•¼ 합니다." +"ì§ì ‘ í‘œì‹œí•˜ê³ ìž í• ê²½ìš°, 사ì´ì¦ˆë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야" +"합니다. ê·¸ë ‡ì§€ ì•Šì„ ê²½ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 Render target으로 ì„¤ì •í•˜" +"ê³ ë‚´ë¶€ì ì¸ í…스ì³ë¥¼ 다른 ë…¸ë“œì— í• ë‹¹í•´ì•¼ 합니다." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error initializing FreeType." -msgstr "FreeType 초기화 ì—러" +msgstr "FreeType 초기화 ì—러." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Unknown font format." -msgstr "알 수 없는 í°íЏ í¬ë©§" +msgstr "알 수 없는 í°íЏ í¬ë©§." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Error loading font." -msgstr "í°íЏ 로딩 ì—러" +msgstr "í°íЏ 로딩 ì—러." #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Invalid font size." -msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ" +msgstr "ìœ ìš”í•˜ì§€ ì•Šì€ í°íЏ 사ì´ì¦ˆ." #: tools/editor/animation_editor.cpp msgid "Disabled" @@ -525,6 +568,18 @@ msgid "Anim Delete Keys" msgstr "키 ì‚ì œ" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "ì—°ì†ì ì¸" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "비연ì†ì ì¸" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "트리거" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "키 추가" @@ -632,6 +687,10 @@ msgid "Change Anim Loop" msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 변경" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 ë³´ê°„ 변경" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "ì• ë‹ˆë©”ì´ì…˜ íƒ€ìž…ì§€ì • ê°’ 키 만들기" @@ -669,23 +728,27 @@ msgstr "커서 단계 스냅 (ì´ˆ)." #: tools/editor/animation_editor.cpp msgid "Enable/Disable looping in animation." -msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 활성화/비활성화 " +msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 활성화/비활성화." + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "ì• ë‹ˆë©”ì´ì…˜ 루프 시 ë³´ê°„ 활성화/비활성화." #: tools/editor/animation_editor.cpp msgid "Add new tracks." -msgstr "새 트랙 추가" +msgstr "새 트랙 추가." #: tools/editor/animation_editor.cpp msgid "Move current track up." -msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™" +msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™." #: tools/editor/animation_editor.cpp msgid "Move current track down." -msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™" +msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™." #: tools/editor/animation_editor.cpp msgid "Remove selected track." -msgstr "ì„ íƒëœ 트랙 ì‚ì œ" +msgstr "ì„ íƒëœ 트랙 ì‚ì œ." #: tools/editor/animation_editor.cpp msgid "Track tools" @@ -693,7 +756,7 @@ msgstr "트랙 ë„구" #: tools/editor/animation_editor.cpp msgid "Enable editing of individual keys by clicking them." -msgstr "개별 키를 í´ë¦í•¨ìœ¼ë¡œì¨ 편집 활성화" +msgstr "개별 키를 í´ë¦í•¨ìœ¼ë¡œì¨ 편집 활성화." #: tools/editor/animation_editor.cpp msgid "Anim. Optimizer" @@ -858,7 +921,7 @@ msgstr "ì¼ì¹˜ ê²°ê³¼ ì—†ìŒ" #: tools/editor/code_editor.cpp msgid "Replaced %d Ocurrence(s)." -msgstr "%d 회 바뀜" +msgstr "%d 회 변경ë¨." #: tools/editor/code_editor.cpp msgid "Replace" @@ -897,11 +960,11 @@ msgstr "다ìŒ" #: tools/editor/code_editor.cpp msgid "Replaced %d ocurrence(s)." -msgstr "%d 회 바뀜" +msgstr "%d 회 변경ë¨." #: tools/editor/code_editor.cpp msgid "Not found!" -msgstr "ì°¾ì„ ìˆ˜ 없습니다." +msgstr "ì°¾ì„ ìˆ˜ 없습니다!" #: tools/editor/code_editor.cpp msgid "Replace By" @@ -933,16 +996,12 @@ msgstr "칼럼:" #: tools/editor/connections_dialog.cpp msgid "Method in target Node must be specified!" -msgstr "ëŒ€ìƒ ë…¸ë“œì˜ í•¨ìˆ˜ë¥¼ 명시해야합니다." +msgstr "ëŒ€ìƒ ë…¸ë“œì˜ í•¨ìˆ˜ë¥¼ 명시해야합니다!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "ì—°ê²°í• ë…¸ë“œ:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "ë°”ì¸ë“œ (추가 파ë¼ë¯¸í„°):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -952,17 +1011,22 @@ msgstr "추가" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "ì‚ì œ" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "노드 경로" +msgid "Add Extra Call Argument:" +msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìž 추가:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "ë…¸ë“œì˜ í•¨ìˆ˜:" +msgid "Extra Call Arguments:" +msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìž:" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "노드 경로:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -985,6 +1049,10 @@ msgid "Connect '%s' to '%s'" msgstr "'%s'를 '%s'ì— ì—°ê²°" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "ì‹œê·¸ë„ ì—°ê²°:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "ì—°ê²° í•´ì œ" @@ -1125,7 +1193,8 @@ msgid "Delete selected files?" msgstr "ì„ íƒëœ 파ì¼ë“¤ì„ ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "ì‚ì œ" @@ -1163,7 +1232,7 @@ msgstr "미리보기:" #: tools/editor/editor_file_system.cpp msgid "Cannot go into subdir:" -msgstr "하위 ë””ë ‰í† ë¦¬ë¡œ ì´ë™í• 수 없습니다." +msgstr "하위 ë””ë ‰í† ë¦¬ë¡œ ì´ë™í• 수 없습니다:" #: tools/editor/editor_file_system.cpp msgid "ScanSources" @@ -1260,7 +1329,7 @@ msgstr "ì„¤ì • 중.." #: tools/editor/editor_log.cpp msgid " Output:" -msgstr "ì¶œë ¥:" +msgstr " ì¶œë ¥:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1326,7 +1395,7 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "Failed to load resource." -msgstr "리소스 로드 실패" +msgstr "리소스 로드 실패." #: tools/editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" @@ -1415,7 +1484,7 @@ msgstr "현재 ì”¬ì´ ì €ìž¥ë˜ì§€ 않았습니다. ì‹¤í–‰ì „ì— ì €ìž¥í•´ì£¼ì„¸ #: tools/editor/editor_node.cpp msgid "Could not start subprocess!" -msgstr "서브 프로세스를 ì‹œìž‘í• ìˆ˜ 없습니다." +msgstr "서브 프로세스를 ì‹œìž‘í• ìˆ˜ 없습니다!" #: tools/editor/editor_node.cpp msgid "Open Scene" @@ -1507,8 +1576,8 @@ msgstr "오우" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "씬 로딩 중 ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 프로ì 트 경로 ì•ˆì— ì¡´ìž¬í•´ì•¼ 합니다. 'ê°€ì ¸ì˜¤" "기'로 ì”¬ì„ ì—° 후ì—, 프로ì 트 경로 ì•ˆì— ì €ìž¥í•˜ì„¸ìš”." @@ -1531,7 +1600,7 @@ msgstr "ë ˆì´ì•„웃 로드" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" -msgstr "" +msgstr "Default" #: tools/editor/editor_node.cpp msgid "Delete Layout" @@ -1556,11 +1625,19 @@ msgstr "씬" #: tools/editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "ì´ì „ì— ì—´ì—ˆë˜ ì”¬ìœ¼ë¡œ 가기" +msgstr "ì´ì „ì— ì—´ì—ˆë˜ ì”¬ìœ¼ë¡œ 가기." + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "ì „ì²´í™”ë©´ 모드" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "초집중 모드" #: tools/editor/editor_node.cpp msgid "Operations with scene files." -msgstr "씬 íŒŒì¼ ë™ìž‘" +msgstr "씬 íŒŒì¼ ë™ìž‘." #: tools/editor/editor_node.cpp msgid "New Scene" @@ -1633,7 +1710,7 @@ msgstr "ì¢…ë£Œí•˜ê³ í”„ë¡œì 트 목ë¡ìœ¼ë¡œ ëŒì•„가기" #: tools/editor/editor_node.cpp msgid "Import assets to the project." -msgstr "프로ì 트로 ì—ì…‹ ê°€ì ¸ì˜¤ê¸°" +msgstr "프로ì 트로 ì—ì…‹ ê°€ì ¸ì˜¤ê¸°." #: tools/editor/editor_node.cpp #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp @@ -1657,7 +1734,7 @@ msgstr "ë„구" #: tools/editor/editor_node.cpp msgid "Export the project to many platforms." -msgstr "프로ì 트를 ë§Žì€ í”Œëž«í¼ìœ¼ë¡œ 내보내기" +msgstr "프로ì 트를 ë§Žì€ í”Œëž«í¼ìœ¼ë¡œ 내보내기." #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Export" @@ -1682,7 +1759,7 @@ msgstr "씬 ì¼ì‹œ ì •ì§€" #: tools/editor/editor_node.cpp msgid "Stop the scene." -msgstr "씬 ì •ì§€" +msgstr "씬 ì •ì§€." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1691,7 +1768,7 @@ msgstr "ì •ì§€" #: tools/editor/editor_node.cpp msgid "Play the edited scene." -msgstr "편집 ì¤‘ì¸ ì”¬ 실행" +msgstr "편집 ì¤‘ì¸ ì”¬ 실행." #: tools/editor/editor_node.cpp msgid "Play Scene" @@ -1711,8 +1788,8 @@ msgstr "ì›ê²© 디버그 ë°°í¬" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" "내보내기나 ë°°í¬ë¥¼ í• ë•Œ, 실행 파ì¼ì´ ë””ë²„ê¹…ì„ ìœ„í•´ì„œ ì´ ì»´í“¨í„°ì˜ IP로 ì—°ê²°ì„ " "시ë„합니다." @@ -1727,14 +1804,15 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" "ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 내보내기나 ë°°í¬ëŠ” ìµœì†Œí•œì˜ ì‹¤í–‰íŒŒì¼ì„ ìƒì„±í•©" "니다.\n" "íŒŒì¼ ì‹œìŠ¤í…œì€ ë„¤íŠ¸ì›Œí¬ë¥¼ 통해서 ì—디터 ìƒì˜ 프로ì 트가 ì œê³µí•©ë‹ˆë‹¤.\n" -"안드로ì´ë“œì˜ 경우, USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì—¬ ë°°í¬í• 경우 ë” ë¹ ë¥¸ í¼í¬ë¨¼ìŠ¤ë¥¼ ì œê³µí•©" -"니다. ì´ ì˜µì…˜ì€ í° ì„¤ì¹˜ ìš©ëŸ‰ì„ ìš”êµ¬í•˜ëŠ” ê²Œìž„ì˜ í…ŒìŠ¤íŠ¸ë¥¼ ë¹ ë¥´ê²Œ í• ìˆ˜ 있습니다." +"안드로ì´ë“œì˜ 경우, USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì—¬ ë°°í¬í• 경우 ë” ë¹ ë¥¸ í¼í¬ë¨¼ìŠ¤ë¥¼ ì œê³µ" +"합니다. ì´ ì˜µì…˜ì€ í° ì„¤ì¹˜ ìš©ëŸ‰ì„ ìš”êµ¬í•˜ëŠ” ê²Œìž„ì˜ í…ŒìŠ¤íŠ¸ë¥¼ ë¹ ë¥´ê²Œ í• ìˆ˜ 있습니" +"다." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1745,8 +1823,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" -"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ (2D와 3Dì˜) ì¶©ëŒ ëª¨ì–‘ê³¼ " -"Raycast 노드가 표시ë©ë‹ˆë‹¤." +"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ (2D와 3Dì˜) ì¶©ëŒ ëª¨ì–‘" +"ê³¼ Raycast 노드가 표시ë©ë‹ˆë‹¤." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1757,8 +1835,8 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" -"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ 네비게ì´ì…˜ 메쉬가 표시ë©" -"니다." +"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ 네비게ì´ì…˜ 메쉬가 표시" +"ë©ë‹ˆë‹¤." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" @@ -1771,10 +1849,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" -"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ì—디터ìƒì˜ ì”¬ì˜ ë³€ê²½ì‚¬í•ì´ ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì— ë°˜" -"ì˜ë©ë‹ˆë‹¤.\n" -"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì 입니" -"다." +"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ì—디터ìƒì˜ ì”¬ì˜ ë³€ê²½ì‚¬í•ì´ ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì— " +"ë°˜ì˜ë©ë‹ˆë‹¤.\n" +"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…" +"니다." #: tools/editor/editor_node.cpp msgid "Sync Script Changes" @@ -1789,8 +1867,8 @@ msgid "" msgstr "" "ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 스í¬ë¦½íŠ¸ë¥¼ ìˆ˜ì •í•˜ê³ ì €ìž¥í•˜ë©´ ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì—" "서 다시 ì½ì–´ 들입니다.\n" -"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì 입니" -"다." +"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…" +"니다." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1842,25 +1920,23 @@ msgstr "디스í¬ì—서 기존 리소스를 로드하여 편집합니다." #: tools/editor/editor_node.cpp msgid "Save the currently edited resource." -msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ ì €ìž¥" +msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ ì €ìž¥." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." -msgstr "다른 ì´ë¦„으로 ì €ìž¥" +msgstr "다른 ì´ë¦„으로 ì €ìž¥.." #: tools/editor/editor_node.cpp msgid "Go to the previous edited object in history." -msgstr "ížˆìŠ¤í† ë¦¬ìƒ ì´ì „ì— íŽ¸ì§‘í•œ 오브ì 트로 가기" +msgstr "ížˆìŠ¤í† ë¦¬ìƒ ì´ì „ì— íŽ¸ì§‘í•œ 오브ì 트로 가기." #: tools/editor/editor_node.cpp msgid "Go to the next edited object in history." -msgstr "ížˆìŠ¤í† ë¦¬ìƒ ë‹¤ìŒì— 편집한 오브ì 트로 가기" +msgstr "ížˆìŠ¤í† ë¦¬ìƒ ë‹¤ìŒì— 편집한 오브ì 트로 가기." #: tools/editor/editor_node.cpp msgid "History of recently edited objects." -msgstr "최근 편집 오브ì 트 ížˆìŠ¤í† ë¦¬" +msgstr "최근 편집 오브ì 트 ížˆìŠ¤í† ë¦¬." #: tools/editor/editor_node.cpp msgid "Object properties." @@ -2037,7 +2113,7 @@ msgstr "노드ì—서 ê°€ì ¸ì˜¤ê¸°:" #: tools/editor/file_type_cache.cpp msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" -msgstr "file_type_cache.cch를 열수 없어서, íŒŒì¼ íƒ€ìž… ìºì‰¬ë¥¼ ì €ìž¥í•˜ì§€ 않습니다." +msgstr "file_type_cache.cch를 열수 없어서, íŒŒì¼ íƒ€ìž… ìºì‰¬ë¥¼ ì €ìž¥í•˜ì§€ 않습니다!" #: tools/editor/groups_editor.cpp msgid "Add to Group" @@ -2060,7 +2136,7 @@ msgstr "ê°€ì ¸ì˜¬ 비트 마스í¬ê°€ 없습니다!" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Target path is empty." -msgstr "ëŒ€ìƒ ê²½ë¡œê°€ 없습니다!" +msgstr "ëŒ€ìƒ ê²½ë¡œê°€ 없습니다." #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2119,7 +2195,7 @@ msgstr "소스 í°íЏ 파ì¼ì´ 없습니다!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No target font resource!" -msgstr "í°íЏ 리소스 경로가 없습니다." +msgstr "í°íЏ 리소스 경로가 없습니다!" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." @@ -2143,7 +2219,7 @@ msgstr "리소스 경로:" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "The quick brown fox jumps over the lazy dog." -msgstr "" +msgstr "The quick brown fox jumps over the lazy dog." #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Test:" @@ -2289,7 +2365,7 @@ msgstr "ê°€ì ¸ì˜¤ê¸° 후 ì‹¤í–‰í• ìŠ¤í¬ë¦½íŠ¸ê°€ ìœ íš¨í•˜ì§€ 않거나 ê¹¨ì ¸ #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error importing scene." -msgstr "씬 ê°€ì ¸ì˜¤ê¸° ì—러" +msgstr "씬 ê°€ì ¸ì˜¤ê¸° ì—러." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Import 3D Scene" @@ -2489,8 +2565,8 @@ msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" -"알림: 2D í…ìŠ¤ì³ ê°€ì ¸ì˜¤ê¸°ê°€ 필수는 아닙니다. png/jpg 파ì¼ë“¤ì„ 프로ì íŠ¸ì— ë³µì‚¬í•´" -"서 ì‚¬ìš©í•´ë„ ë©ë‹ˆë‹¤." +"알림: 2D í…ìŠ¤ì³ ê°€ì ¸ì˜¤ê¸°ê°€ 필수는 아닙니다. png/jpg 파ì¼ë“¤ì„ 프로ì íŠ¸ì— ë³µì‚¬" +"해서 ì‚¬ìš©í•´ë„ ë©ë‹ˆë‹¤." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." @@ -2643,7 +2719,7 @@ msgstr "새 ì• ë‹ˆë©”ì´ì…˜ ì´ë¦„:" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "New Anim" -msgstr "" +msgstr "New Anim" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Change Animation Name:" @@ -2738,19 +2814,27 @@ msgstr "ì• ë‹ˆë©”ì´ì…˜ ìž¬ìƒ ì†ë„를 ì „ì²´ì 으로 ì¡°ì ˆ." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Create new animation in player." -msgstr "새로운 ì• ë‹ˆë©”ì´ì…˜ 만들기" +msgstr "새로운 ì• ë‹ˆë©”ì´ì…˜ 만들기." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "디스í¬ì—서 ì• ë‹ˆë©”ì´ì…˜ 로드." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." -msgstr "디스í¬ì—서 ì• ë‹ˆë©”ì´ì…˜ 로드" +msgstr "디스í¬ì—서 ì• ë‹ˆë©”ì´ì…˜ 로드." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" msgstr "현재 ì• ë‹ˆë©”ì´ì…˜ ì €ìž¥" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "다른 ì´ë¦„으로 ì €ìž¥" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." -msgstr "ì• ë‹ˆë©”ì´ì…˜ ëª©ë¡ í‘œì‹œ" +msgstr "ì• ë‹ˆë©”ì´ì…˜ ëª©ë¡ í‘œì‹œ." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" @@ -3006,7 +3090,7 @@ msgstr "ë¼ì´íŠ¸ë§µ 오í¬íŠ¸ë¦¬ 굽기 프로세스 ìž¬ì„¤ì • (처ìŒë¶€í„° ë‹ #: tools/editor/plugins/camera_editor_plugin.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Preview" -msgstr "미리보기:" +msgstr "미리보기" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Configure Snap" @@ -3101,7 +3185,7 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Click to change object's rotation pivot." -msgstr "오브ì íŠ¸ì˜ íšŒì „ 피벗 변경" +msgstr "오브ì íŠ¸ì˜ íšŒì „ 피벗 변경." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Pan Mode" @@ -3273,7 +3357,7 @@ msgstr "í´ë¦¬ê³¤ 편집 (ì ì‚ì œ)" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "처ìŒë¶€í„° 새로운 í´ë¦¬ê³¤ 만들기" +msgstr "처ìŒë¶€í„° 새로운 í´ë¦¬ê³¤ 만들기." #: tools/editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" @@ -3346,17 +3430,17 @@ msgstr "기존 í´ë¦¬ê³¤ 편집:" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "LMB: Move Point." -msgstr "좌í´ë¦: í¬ì¸íЏ ì´ë™" +msgstr "좌í´ë¦: í¬ì¸íЏ ì´ë™." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "컨트롤+좌í´ë¦: 세그먼트 ë¶„í• " +msgstr "컨트롤+좌í´ë¦: 세그먼트 ë¶„í• ." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "RMB: Erase Point." -msgstr "ìš°í´ë¦: í¬ì¸íЏ ì‚ì œ" +msgstr "ìš°í´ë¦: í¬ì¸íЏ ì‚ì œ." #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" @@ -3392,7 +3476,7 @@ msgstr "MeshInstanceì— ë©”ì‰¬ê°€ 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Could not create outline!" -msgstr "ì™¸ê³½ì„ ì„ ë§Œë“¤ìˆ˜ 없습니다." +msgstr "ì™¸ê³½ì„ ì„ ë§Œë“¤ìˆ˜ 없습니다!" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Outline" @@ -3806,7 +3890,7 @@ msgstr "샘플 íŒŒì¼ ì—´ê¸°" #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "ERROR: Couldn't load sample!" -msgstr "ì—러: ìƒ˜í”Œì„ ë¡œë“œí• ìˆ˜ 없습니다." +msgstr "ì—러: ìƒ˜í”Œì„ ë¡œë“œí• ìˆ˜ 없습니다!" #: tools/editor/plugins/sample_library_editor_plugin.cpp msgid "Add Sample" @@ -3869,7 +3953,8 @@ msgstr "테마 ê°€ì ¸ì˜¤ê¸°" msgid "Save Theme As.." msgstr "테마 다른 ì´ë¦„으로 ì €ìž¥.." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "파ì¼" @@ -3941,14 +4026,11 @@ msgid "Auto Indent" msgstr "ìžë™ 들여쓰기" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script" +#, fuzzy +msgid "Soft Reload Script" msgstr "툴 스í¬ë¦½íЏ 다시 로드" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "툴 스í¬ë¦½íЏ 다시 로드 (소프트)" - -#: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp msgid "Find.." msgstr "찾기.." @@ -4038,8 +4120,8 @@ msgid "Help" msgstr "ë„움ë§" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" -msgstr "ë¬¸ë§¥ìƒ ì°¾ê¸°" +msgid "Contextual Help" +msgstr "ë„ì›€ë§ ë³´ê¸°" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4063,15 +4145,15 @@ msgstr "ë„ì›€ë§ ê²€ìƒ‰" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Search the reference documentation." -msgstr "ë ˆí¼ëŸ°ìФ 문서 검색" +msgstr "ë ˆí¼ëŸ°ìФ 문서 검색." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to previous edited document." -msgstr "ì´ì „ 편집 문서로 ì´ë™" +msgstr "ì´ì „ 편집 문서로 ì´ë™." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Go to next edited document." -msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™" +msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™." #: tools/editor/plugins/script_editor_plugin.cpp msgid "Create Script" @@ -4247,10 +4329,6 @@ msgid "Transform Aborted." msgstr "변형 중단." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "ë·° í‰ë©´ 변형." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "Xì¶• 변형." @@ -4263,6 +4341,10 @@ msgid "Z-Axis Transform." msgstr "Zì¶• 변형." #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "ë·° í‰ë©´ 변형." + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "%s%%로 í¬ê¸° 변경." @@ -4484,7 +4566,7 @@ msgstr "íšŒì „ 스냅 (ë„):" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scale Snap (%):" -msgstr "í¬ê¸° 스냅 (%)" +msgstr "í¬ê¸° 스냅 (%):" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" @@ -4532,11 +4614,11 @@ msgstr "변환 타입" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Pre" -msgstr "" +msgstr "Pre" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Post" -msgstr "" +msgstr "Post" #: tools/editor/plugins/sprite_frames_editor_plugin.cpp msgid "ERROR: Couldn't load frame resource!" @@ -4644,56 +4726,60 @@ msgid "Remove Class Items" msgstr "í´ëž˜ìФ ì•„ì´í…œ ì‚ì œ" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "템플릿 만들기" +msgid "Create Empty Template" +msgstr "빈 템플릿 만들기" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "빈 ì—디터 템플릿 만들기" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" -msgstr "" +msgstr "CheckBox Radio1" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio2" -msgstr "" +msgstr "CheckBox Radio2" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Item" -msgstr "" +msgstr "Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Check Item" -msgstr "" +msgstr "Check Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Checked Item" -msgstr "" +msgstr "Checked Item" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Has" -msgstr "" +msgstr "Has" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Many" -msgstr "" +msgstr "Many" #: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp msgid "Options" -msgstr "" +msgstr "옵션" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Have,Many,Several,Options!" -msgstr "" +msgstr "Have,Many,Several,Options!" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 1" -msgstr "" +msgstr "Tab 1" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 2" -msgstr "" +msgstr "Tab 2" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Tab 3" -msgstr "" +msgstr "Tab 3" #: tools/editor/plugins/theme_editor_plugin.cpp #: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp @@ -4731,32 +4817,36 @@ msgid "Erase TileMap" msgstr "타ì¼ë§µ 지우기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "채우기" +msgid "Erase selection" +msgstr "ì„ íƒë¶€ë¶„ 지우기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "íƒ€ì¼ ì„ íƒ" +msgid "Find tile" +msgstr "íƒ€ì¼ ì°¾ê¸°" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "ì„ íƒ" +msgid "Transpose" +msgstr "바꾸기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "ì„ íƒ ì§€ìš°ê¸°" +msgid "Mirror X" +msgstr "Xì¶• 뒤집기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "바꾸기" +msgid "Mirror Y" +msgstr "Yì¶• 뒤집기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Xì¶• 뒤집기 (A)" +msgid "Bucket" +msgstr "채우기" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Yì¶• 뒤집기 (S)" +msgid "Pick Tile" +msgstr "íƒ€ì¼ ì„ íƒ" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "ì„ íƒ" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -4809,15 +4899,15 @@ msgstr "스í¬ë¦½íЏ 옵션 편집" #: tools/editor/project_export.cpp msgid "Please export outside the project folder!" -msgstr "프로ì 트 í´ë” ë°”ê¹¥ì— ë‚´ë³´ë‚´ê¸°ë¥¼ 하세요." +msgstr "프로ì 트 í´ë” ë°”ê¹¥ì— ë‚´ë³´ë‚´ê¸°ë¥¼ 하세요!" #: tools/editor/project_export.cpp msgid "Error exporting project!" -msgstr "프로ì 트 내보내기 중 ì—러" +msgstr "프로ì 트 내보내기 중 ì—러!" #: tools/editor/project_export.cpp msgid "Error writing the project PCK!" -msgstr "프로ì 트 PCK 작성중 ì—러" +msgstr "프로ì 트 PCK 작성중 ì—러!" #: tools/editor/project_export.cpp msgid "No exporter for platform '%s' yet." @@ -4833,15 +4923,15 @@ msgstr "ì´ë¯¸ì§€ 그룹 변경" #: tools/editor/project_export.cpp msgid "Group name can't be empty!" -msgstr "그룹 ì´ë¦„ì„ ì§€ì •í•´ì•¼ 합니다." +msgstr "그룹 ì´ë¦„ì„ ì§€ì •í•´ì•¼ 합니다!" #: tools/editor/project_export.cpp msgid "Invalid character in group name!" -msgstr "그룹 ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ 사용ë˜ì—ˆìŠµë‹ˆë‹¤." +msgstr "그룹 ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ 사용ë˜ì—ˆìŠµë‹ˆë‹¤!" #: tools/editor/project_export.cpp msgid "Group name already exists!" -msgstr "그룹 ì´ë¦„ì´ ì´ë¯¸ 사용중입니다." +msgstr "그룹 ì´ë¦„ì´ ì´ë¯¸ 사용중입니다!" #: tools/editor/project_export.cpp msgid "Add Image Group" @@ -4873,15 +4963,15 @@ msgstr "리소스" #: tools/editor/project_export.cpp msgid "Export selected resources (including dependencies)." -msgstr "ì„ íƒëœ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)" +msgstr "ì„ íƒëœ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)." #: tools/editor/project_export.cpp msgid "Export all resources in the project." -msgstr "프로ì íŠ¸ì˜ ëª¨ë“ ë¦¬ì†ŒìŠ¤ 내보내기" +msgstr "프로ì íŠ¸ì˜ ëª¨ë“ ë¦¬ì†ŒìŠ¤ 내보내기." #: tools/editor/project_export.cpp msgid "Export all files in the project directory." -msgstr "프로ì 트 ë””ë ‰í† ë¦¬ ì•ˆì˜ ëª¨ë“ íŒŒì¼ ë‚´ë³´ë‚´ê¸°" +msgstr "프로ì 트 ë””ë ‰í† ë¦¬ ì•ˆì˜ ëª¨ë“ íŒŒì¼ ë‚´ë³´ë‚´ê¸°." #: tools/editor/project_export.cpp msgid "Export Mode:" @@ -4906,7 +4996,7 @@ msgstr "내보내기 시, ì œì™¸ì‹œí‚¬ íŒŒì¼ (콤마로 구분, 예: *.json, *. #: tools/editor/project_export.cpp msgid "Convert text scenes to binary on export." -msgstr "내보내기 시, í…스트 기반 씬 파ì¼ì„ ë°”ì´ë„ˆë¦¬ 형ì‹ìœ¼ë¡œ 변환" +msgstr "내보내기 시, í…스트 기반 씬 파ì¼ì„ ë°”ì´ë„ˆë¦¬ 형ì‹ìœ¼ë¡œ 변환." #: tools/editor/project_export.cpp msgid "Images" @@ -5163,7 +5253,7 @@ msgstr "종료" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "키" +msgstr "키 " #: tools/editor/project_settings.cpp msgid "Joy Button" @@ -5179,7 +5269,7 @@ msgstr "마우스 버튼" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." -msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì•¡ì…˜ ('/' ë˜ëŠ” ':' ë¬¸ìž ì‚¬ìš© 불가)" +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì•¡ì…˜ ('/' ë˜ëŠ” ':' ë¬¸ìž ì‚¬ìš© 불가)." #: tools/editor/project_settings.cpp msgid "Action '%s' already exists!" @@ -5481,11 +5571,11 @@ msgstr "íŒŒì¼ ë¡œë“œ ì—러: 리소스가 아닙니다!" #: tools/editor/property_editor.cpp msgid "Couldn't load image" -msgstr "ì´ë¯¸ì§€ë¥¼ ë¡œë“œí• ìˆ˜ 없습니다." +msgstr "ì´ë¯¸ì§€ë¥¼ ë¡œë“œí• ìˆ˜ ì—†ìŒ" #: tools/editor/property_editor.cpp msgid "Bit %d, val %d." -msgstr "" +msgstr "Bit %d, val %d." #: tools/editor/property_editor.cpp msgid "On" @@ -5501,7 +5591,7 @@ msgstr "ì†ì„±:" #: tools/editor/property_editor.cpp msgid "Global" -msgstr "" +msgstr "Global" #: tools/editor/property_editor.cpp msgid "Sections:" @@ -5593,8 +5683,8 @@ msgstr "확ì¸" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "ë…¸ë“œì¤‘ì— í˜„ìž¬ ì”¬ì´ ì¡´ìž¬í•˜ê¸° 때문ì—, '%s' ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤ í• ìˆ˜ 없습니다." #: tools/editor/scene_tree_dock.cpp @@ -5768,6 +5858,10 @@ msgid "Load As Placeholder" msgstr "Placeholderë¡œì¨ ë¡œë“œ" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "ì¸ìŠ¤í„´ìŠ¤ í기" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "ì—디터ì—서 열기" @@ -5801,7 +5895,7 @@ msgstr "ë””ë ‰í† ë¦¬ë¥¼ ìžì‹ 으로 ì´ë™í• 수 없습니다." #: tools/editor/scenes_dock.cpp msgid "Can't operate on '..'" -msgstr "'..'ì— ìˆ˜í–‰í• ìˆ˜ 없습니다." +msgstr "'..'ì— ìˆ˜í–‰í• ìˆ˜ ì—†ìŒ" #: tools/editor/scenes_dock.cpp msgid "Pick New Name and Location For:" @@ -5905,23 +5999,23 @@ msgstr "íŒŒì¼ ì‹œìŠ¤í…œì— ìŠ¤í¬ë¦½íŠ¸ë¥¼ ìƒì„±í• 수 없습니다." #: tools/editor/script_create_dialog.cpp msgid "Path is empty" -msgstr "경로가 비어 있습니다." +msgstr "경로가 비어 있ìŒ" #: tools/editor/script_create_dialog.cpp msgid "Path is not local" -msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹™ë‹ˆë‹¤." +msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹˜" #: tools/editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "기본 경로가 ìœ ìš”í•˜ì§€ 않습니다." +msgstr "기본 경로가 ìœ ìš”í•˜ì§€ 않ìŒ" #: tools/editor/script_create_dialog.cpp msgid "File exists" -msgstr "파ì¼ì´ 존재합니다." +msgstr "파ì¼ì´ 존재함" #: tools/editor/script_create_dialog.cpp msgid "Invalid extension" -msgstr "확장ìžê°€ ìœ ìš”í•˜ì§€ 않습니다." +msgstr "확장ìžê°€ ìœ ìš”í•˜ì§€ 않ìŒ" #: tools/editor/script_create_dialog.cpp msgid "Valid path" @@ -6001,7 +6095,7 @@ msgstr "실시간 씬 트리:" #: tools/editor/script_editor_debugger.cpp msgid "Remote Object Properties: " -msgstr "ì›ê²© 오브ì 트 ì†ì„±:" +msgstr "ì›ê²© 오브ì 트 ì†ì„±: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" @@ -6103,12 +6197,18 @@ msgstr "Ray Shape ê¸¸ì´ ë³€ê²½" msgid "Change Notifier Extents" msgstr "Notifier 범위 변경" +#~ msgid "Binds (Extra Params):" +#~ msgstr "ë°”ì¸ë“œ (추가 파ë¼ë¯¸í„°):" + +#~ msgid "Method In Node:" +#~ msgstr "ë…¸ë“œì˜ í•¨ìˆ˜:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "툴 스í¬ë¦½íЏ 다시 로드 (소프트)" + #~ msgid "Edit Connections.." #~ msgstr "ì—°ê²° 편집.." -#~ msgid "Connections:" -#~ msgstr "ì—°ê²°:" - #~ msgid "Set Params" #~ msgstr "ì†ì„± ì ìš©" diff --git a/tools/translations/pt_BR.po b/tools/translations/pt_BR.po index 6481349562..dadd54d273 100644 --- a/tools/translations/pt_BR.po +++ b/tools/translations/pt_BR.po @@ -1,21 +1,66 @@ -# LANGUAGE translation of the Godot Engine editor +# Portuguese (Brazil) translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# # George Marques <george@gmarqu.es>, 2016. +# Joaquim Ferreira <joaquimferreira1996@bol.com.br>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2016-05-30\n" -"Last-Translator: George Marques <george@gmarqu.es>\n" -"Language-Team: Godot Brasil\n" +"PO-Revision-Date: 2016-06-20 01:48+0000\n" +"Last-Translator: George Marques <georgemjesus@gmail.com>\n" +"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects" +"/godot-engine/godot/pt_BR/>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 1.8.7\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "Argumento de tipo inválido para convert(), use constantes TYPE_*." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "o argumento step é zero!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "Não é um script com uma instância" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "Não é baseado num script" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "Não é baseado num arquivo de recurso" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "Formato de dicionário de instância inválido (faltando @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" +"Formato de dicionário de instância inválido (não se pôde carregar o script " +"em @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "Formato de dicionário de instância inválido (script inválido em @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "Dicionário de instância inválido (subclasses inválidas)" #: scene/2d/animated_sprite.cpp msgid "" @@ -23,7 +68,7 @@ msgid "" "order for AnimatedSprite to display frames." msgstr "" "Um recurso do tipo SpriteFrames deve ser criado ou definido na propriedade " -"\"Quadros\" para que o nó AnimatedSprite mostre quadros." +"\"Frames\" para que o nó AnimatedSprite mostre quadros." #: scene/2d/canvas_modulate.cpp msgid "" @@ -77,12 +122,13 @@ msgstr "" msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." msgstr "" -"Um polÃgono de oclusão deve ser definido (ou desenhado) para que este oclusor " -"tenha efeito." +"Um polÃgono de oclusão deve ser definido (ou desenhado) para que este " +"oclusor tenha efeito." #: scene/2d/light_occluder_2d.cpp msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" -msgstr "O polÃgono para este oclusor está vazio. Por favor desenhe um polÃgono!" +msgstr "" +"O polÃgono para este oclusor está vazio. Por favor desenhe um polÃgono!" #: scene/2d/navigation_polygon.cpp msgid "" @@ -132,16 +178,16 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "A propriedade \"Caminho\" deve apontar a um nó Viewport para funcionar. Tal " "Viewport deve estar no modo \"Destino de Render\"." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "O nó Viewport definido na propriedade \"Caminho\" deve ser marcado como " "\"destino de render\" para que este sprite funcione." @@ -169,8 +215,8 @@ msgid "" "A shape must be provided for CollisionShape to function. Please create a " "shape resource for it!" msgstr "" -"Uma forma deve ser fornecida para que o nó CollisionShape fucione. Por favor, " -"crie um recurso de forma a ele!" +"Uma forma deve ser fornecida para que o nó CollisionShape fucione. Por " +"favor, crie um recurso de forma a ele!" #: scene/3d/collision_polygon.cpp msgid "" @@ -194,11 +240,11 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" -"NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele apenas " -"fornece dados de navegação." +"NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele " +"apenas fornece dados de navegação." #: scene/3d/scenario_fx.cpp msgid "" @@ -216,13 +262,12 @@ msgstr "" "'amostras' para que o SpatialSamplePlayer possa tocar algum som." #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" "Um recurso do tipo SpriteFrames deve ser criado ou definido na propriedade " -"\"Quadros\" para que o nó AnimatedSprite mostre quadros." +"\"Frames\" para que o nó AnimatedSprite mostre quadros." #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -260,24 +305,20 @@ msgid "Open" msgstr "Abrir" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "Abrir Arquivo(s) de Amostra" +msgstr "Abrir um Arquivo" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "Abrir Arquivo(s) de Amostra" +msgstr "Abrir Arquivo(s)" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "Escolha um Diretório" +msgstr "Abrir um Diretório" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "Escolha um Diretório" +msgstr "Abrir Arquivo ou Diretório" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -341,7 +382,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -404,7 +445,8 @@ msgstr "Colar" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Selecionar Tudo" @@ -424,8 +466,8 @@ msgstr "Desfazer" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "Popups são ocultos por padrão a menos que você chame alguma das funções " "popup*(). Torná-los visÃveis para editar não causa problema, mas eles " @@ -540,6 +582,18 @@ msgid "Anim Delete Keys" msgstr "Excluir Chaves da Anim" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "ContÃnuo" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "Discreto" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "Gatilho" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "Adicionar Chave na Anim" @@ -647,6 +701,10 @@ msgid "Change Anim Loop" msgstr "Mudar Loop da Animação" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "Mudar Interpolação do Loop da Animação" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "Criar Chave com Valor Definido" @@ -687,6 +745,10 @@ msgid "Enable/Disable looping in animation." msgstr "Habilitar/Desabilitar loop de animação." #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "Habilitar/Desabilitar interpolação quando repetindo a animação." + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "Adicionar novas trilhas." @@ -807,22 +869,20 @@ msgid "Site:" msgstr "Site:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "Exportar..." +msgstr "Suportado..." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "Oficial" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "Comunidade" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "Configurações" +msgstr "Em teste" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" @@ -875,7 +935,7 @@ msgstr "Sem Correspondências" #: tools/editor/code_editor.cpp msgid "Replaced %d Ocurrence(s)." -msgstr "SubstituÃda(s) %d Ocorrência(s)" +msgstr "SubstituÃda(s) %d Ocorrência(s)." #: tools/editor/code_editor.cpp msgid "Replace" @@ -953,13 +1013,9 @@ msgid "Method in target Node must be specified!" msgstr "O método no Nó destino precisa ser especificado!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "Conectar ao Nó:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "Ligações (Parâmetros Extra):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -969,17 +1025,22 @@ msgstr "Adicionar" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Remover" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Caminho para o Nó:" +msgid "Add Extra Call Argument:" +msgstr "Adicionar Argumento de Chamada Extra:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Método no Nó:" +msgid "Extra Call Arguments:" +msgstr "Argumentos de Chamada Extras:" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "Caminho para o Nó:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -1002,6 +1063,10 @@ msgid "Connect '%s' to '%s'" msgstr "Conectar \"%s\" a \"%s\"" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "Conectando Sinal:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "Criar Conexão" @@ -1015,9 +1080,8 @@ msgid "Disconnect" msgstr "Disconectar" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "Sinais:" +msgstr "Sinais" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1071,7 +1135,7 @@ msgstr "Dependências:" #: tools/editor/dependency_editor.cpp msgid "Fix Broken" -msgstr "Consertar Quebradas:" +msgstr "Consertar Quebradas" #: tools/editor/dependency_editor.cpp msgid "Dependency Editor" @@ -1144,7 +1208,8 @@ msgid "Delete selected files?" msgstr "Excluir os arquivos selecionados?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Excluir" @@ -1278,9 +1343,8 @@ msgid "Setting Up.." msgstr "Ajustando..." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" -msgstr "SaÃda" +msgstr " SaÃda:" #: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp msgid "Re-Importing" @@ -1342,8 +1406,8 @@ msgstr "Criando Miniatura" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Não se pôde salvar a cena. É provável que dependências (instâncias) não foram " -"satisfeitas." +"Não se pôde salvar a cena. É provável que dependências (instâncias) não " +"foram satisfeitas." #: tools/editor/editor_node.cpp msgid "Failed to load resource." @@ -1394,9 +1458,8 @@ msgid "Copy Params" msgstr "Copiar Parâmetros" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" -msgstr "Colar Quadro" +msgstr "Colar Params" #: tools/editor/editor_node.cpp #: tools/editor/plugins/resource_preloader_editor_plugin.cpp @@ -1416,9 +1479,8 @@ msgid "Make Sub-Resources Unique" msgstr "Tornar Únicos os Sub-recursos" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "Abrir Cena" +msgstr "Abrir na Ajuda" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1429,6 +1491,8 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"A cena principal não foi definida.\n" +"Selecione uma nas \"Configurações do Projeto\" na categoria \"application\"." #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1515,11 +1579,12 @@ msgid "Quick Run Scene.." msgstr "Rodar Cena Ãgil..." #: tools/editor/editor_node.cpp -#, fuzzy msgid "" "Open Project Manager? \n" "(Unsaved changes will be lost)" -msgstr "Fechar cena? (Mudanças não salvas serão perdidas)" +msgstr "" +"Abrir Gerenciador de Projetos?\n" +"(Mudanças não salvas serão perdidas)" #: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp msgid "Ugh" @@ -1527,8 +1592,8 @@ msgstr "Ugh" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "Erro ao carregar cena, ela deve estar dentro do caminho do projeto. Use " "\"Importar\" para abrir a cena e então salve-a dentro do projeto." @@ -1546,9 +1611,8 @@ msgid "Save Layout" msgstr "Salvar Layout" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "Salvar Layout" +msgstr "Carregar Layout" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1577,7 +1641,15 @@ msgstr "Cena" #: tools/editor/editor_node.cpp msgid "Go to previously opened scene." -msgstr "Ir para cena aberta anteriormente" +msgstr "Ir para cena aberta anteriormente." + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "Modo Tela-Cheia" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "Modo Sem Distrações" #: tools/editor/editor_node.cpp msgid "Operations with scene files." @@ -1612,9 +1684,8 @@ msgid "Open Recent" msgstr "Abrir Recente" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "Buscar Arquivo Ãgil..." +msgstr "Filtrar Arquivos Rapidamente..." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1686,9 +1757,8 @@ msgid "Export" msgstr "Exportar" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." -msgstr "Rodar o projeto (F5)." +msgstr "Roda o projeto." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1700,14 +1770,12 @@ msgid "Pause the scene" msgstr "Pausar a cena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" -msgstr "Pausar a cena" +msgstr "Pausa a cena" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "Parar a cena (F8)." +msgstr "Para a cena." #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1715,14 +1783,12 @@ msgid "Stop" msgstr "Parar" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "Rodar a cena editada (F6)." +msgstr "Roda a cena editada." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "Salvar Cena" +msgstr "Rodar Cena" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1733,19 +1799,20 @@ msgid "Debug options" msgstr "Opções de depuração" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" msgstr "Instalar Depuração Remota" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"Quando exportando ou instalando, o programa resultante tentará conectar ao " +"IP deste computador para poder ser depurado." #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "Instalação Pequena com FS em rede" #: tools/editor/editor_node.cpp msgid "" @@ -1753,9 +1820,14 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"Quando esta opção está habilitada, a exportação ou instalação produzirá um " +"executável mÃnimo.\n" +"O sistema de arquivos (FS) será fornecido ao projeto pelo editor via rede.\n" +"No Android, a instalação usará o cabo USB para melhor desempenho. Esta opção " +"acelera os testes de jogos com muito conteúdo." #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1766,6 +1838,8 @@ msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." msgstr "" +"Formas de colisão e nós do tipo RayCast (2D e 3D) serão visÃveis durante a " +"execução do jogo caso esta opção esteja habilitada." #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1776,10 +1850,12 @@ msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." msgstr "" +"Malhas e polÃgonos de navegação serão visÃveis no jogo se esta opção estiver " +"ligada." #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "Sincronizar Alterações na Cena" #: tools/editor/editor_node.cpp msgid "" @@ -1788,11 +1864,14 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Quando essa opção está ativa, quaisquer modificações feitas à cena no editor " +"serão replicadas no jogo em execução.\n" +"Quando usado remotamente em um dispositivo, isso é mais eficiente com o " +"sistema de arquivos via rede." #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "Atualizar nas Mudanças" +msgstr "Sincronizar Mudanças no Script" #: tools/editor/editor_node.cpp msgid "" @@ -1801,6 +1880,10 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"Quando essa opção está ativa, qualquer script que é salvo será recarregado " +"no jogo em execução.\n" +"Quando usado remotamente em um dispositivo, isso é mais eficiente com o " +"sistema de arquivos via rede." #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1854,9 +1937,7 @@ msgstr "Carrega um recurso existente do disco e o edita." msgid "Save the currently edited resource." msgstr "Salva o recurso editado atualmente." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "Salvar Como..." @@ -1903,7 +1984,7 @@ msgstr "Obrigado!" #: tools/editor/editor_node.cpp msgid "Import Templates From ZIP File" -msgstr "Importar Modelos de um Arquivo ZIP." +msgstr "Importar Modelos de um Arquivo ZIP" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Export Project" @@ -2064,9 +2145,8 @@ msgid "Imported Resources" msgstr "Recursos Importados" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "Nenhum item a importar!" +msgstr "Sem máscaras de bits para importar!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2096,9 +2176,8 @@ msgid "Save path is empty!" msgstr "Caminho de salvamento vazio!" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "Importar Textura" +msgstr "Importar Máscara de Bits" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2125,7 +2204,7 @@ msgstr "Aceitar" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp msgid "Bit Mask" -msgstr "" +msgstr "Máscara de Bits" #: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "No source font file!" @@ -2295,7 +2374,7 @@ msgstr "Filtros" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source path is empty." -msgstr "Caminho de origem está vazio" +msgstr "Caminho de origem está vazio." #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Couldn't load post-import script." @@ -2327,20 +2406,19 @@ msgstr "Compartilhado" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Target Texture Folder:" -msgstr "Pasta Destino para Textura" +msgstr "Pasta Destino para Textura:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Post-Process Script:" -msgstr "Script de Pós-Processamento" +msgstr "Script de Pós-Processamento:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Custom Root Node Type:" msgstr "Tipo Personalizado de Nó Raiz:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp -#, fuzzy msgid "Auto" -msgstr "AutoLoad" +msgstr "Auto" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "The Following Files are Missing:" @@ -2377,7 +2455,7 @@ msgstr "Não se pôde carregar script pós-importação:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Invalid/broken script for post-import:" -msgstr "Script pós-importação inválido/quebrado." +msgstr "Script pós-importação inválido/quebrado:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Error running post-import script:" @@ -2641,18 +2719,16 @@ msgid "MultiNode Set" msgstr "Múltiplos Nós definidos" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Node" -msgstr "Misturar Nó" +msgstr "Nó" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" -msgstr "Grupos:" +msgstr "Grupos" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "Selecione um Nó para editar Sinais e Grupos." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2732,7 +2808,8 @@ msgstr "ERRO: Nenhuma animação para editar!" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" -"Iniciar animação selecionada de trás pra frente a partir da posição atual. (A)" +"Iniciar animação selecionada de trás pra frente a partir da posição atual. " +"(A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" @@ -2764,6 +2841,10 @@ msgid "Create new animation in player." msgstr "Criar nova animação no player." #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "Carregar uma animação do disco." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "Carregar uma animação do disco." @@ -2772,12 +2853,16 @@ msgid "Save the current animation" msgstr "Salvar a animação atual" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "Salvar Como" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "Mostrar lista de animações no player." #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Autoplay on Load" -msgstr "Reproduzir automaticamente ao carregar." +msgstr "Auto-reprodução ao Carregar" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Edit Target Blend Times" @@ -2813,7 +2898,7 @@ msgstr "Tempos de Mistura:" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Next (Auto Queue):" -msgstr "Próximo (Entrar na fila automaticamente)" +msgstr "Próximo (Auto-enfileirar):" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Cross-Animation Blend Times" @@ -2976,7 +3061,7 @@ msgstr "Triângulo nº" #: tools/editor/plugins/baked_light_baker.cpp msgid "Light Baker Setup:" -msgstr "Configurar Baker de Luz." +msgstr "Configurar Baker de Luz:" #: tools/editor/plugins/baked_light_baker.cpp msgid "Parsing Geometry" @@ -3053,7 +3138,7 @@ msgstr "Deslocamento de rotação:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Rotation Step:" -msgstr "Passo de Rotação" +msgstr "Passo de Rotação:" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Pivot" @@ -3061,7 +3146,7 @@ msgstr "Mover Pivô" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Move Action" -msgstr "Mover Ação" +msgstr "Ação de Mover" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Edit IK Chain" @@ -3077,7 +3162,7 @@ msgstr "Alterar Âncoras" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Zoom (%):" -msgstr "Ampliar (%)" +msgstr "Ampliação (%):" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Paste Pose" @@ -3099,7 +3184,7 @@ msgstr "Alt+Arrastar: Mover" msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." msgstr "" "Aperte \"v\" para Mudar Pivô, \"Shift+v\" para Arrastar Pivô (enquanto " -"movendo)" +"movendo)." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Alt+RMB: Depth list selection" @@ -3298,7 +3383,7 @@ msgstr "Editar PolÃgono (Remover Ponto)" #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Create a new polygon from scratch." -msgstr "Criar um novo polÃgono do zero" +msgstr "Criar um novo polÃgono do zero." #: tools/editor/plugins/collision_polygon_editor_plugin.cpp msgid "Create Poly3D" @@ -3376,7 +3461,7 @@ msgstr "LMB: Mover Ponto." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp msgid "Ctrl+LMB: Split Segment." -msgstr "Ctrl+LMB: Dividir Segmento" +msgstr "Ctrl+LMB: Dividir Segmento." #: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp #: tools/editor/plugins/navigation_polygon_editor_plugin.cpp @@ -3429,7 +3514,7 @@ msgstr "Criar Corpo Trimesh Estático" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Convex Static Body" -msgstr "Create Convex Static Body" +msgstr "Criar um Corpo Estático Convexo" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Trimesh Collision Sibling" @@ -3895,7 +3980,8 @@ msgstr "Importar Tema" msgid "Save Theme As.." msgstr "Salvar Tema Como..." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Arquivo" @@ -3967,13 +4053,8 @@ msgid "Auto Indent" msgstr "Auto Recuar" #: tools/editor/plugins/script_editor_plugin.cpp -#, fuzzy -msgid "Reload Tool Script" -msgstr "Criar Script para Nó" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "Recarregar Script (suave)" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4065,8 +4146,8 @@ msgid "Help" msgstr "Ajuda" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" -msgstr "Contextual" +msgid "Contextual Help" +msgstr "Ajuda Contextual" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4274,10 +4355,6 @@ msgid "Transform Aborted." msgstr "Transformação Abortada." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "Visualizar Transformação do Plano." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "Transformação do Eixo-X." @@ -4290,6 +4367,10 @@ msgid "Z-Axis Transform." msgstr "Transformação do Eixo-Z." #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "Visualizar Transformação do Plano." + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "Escalonando para %s%%." @@ -4299,7 +4380,7 @@ msgstr "Rotacionando %s degraus." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom View." -msgstr "Visão inferior" +msgstr "Visão inferior." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Bottom" @@ -4351,7 +4432,7 @@ msgstr "Chaveamento está desativado (nenhuma chave inserida)." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Animation Key Inserted." -msgstr "Chave de Animação Inserida" +msgstr "Chave de Animação Inserida." #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Align with view" @@ -4430,9 +4511,8 @@ msgid "Scale Mode (R)" msgstr "Modo Escala (R)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "Transform" -msgstr "Tipo de Transformação" +msgstr "Transformação" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Local Coords" @@ -4452,30 +4532,27 @@ msgstr "Usar sRGB Padrão" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "1 Viewport" -msgstr "" +msgstr "1 Viewport" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "2 Viewports" -msgstr "Configurações da Viewport:" +msgstr "2 Viewports" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "2 Viewports (Alt)" -msgstr "" +msgstr "2 Viewports (Alt)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "3 Viewports" -msgstr "Configurações da Viewport:" +msgstr "3 Viewports" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "3 Viewports (Alt)" -msgstr "" +msgstr "3 Viewports (Alt)" #: tools/editor/plugins/spatial_editor_plugin.cpp -#, fuzzy msgid "4 Viewports" -msgstr "Configurações da Viewport:" +msgstr "4 Viewports" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Display Normal" @@ -4519,7 +4596,7 @@ msgstr "Escala do Snap (%):" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Viewport Settings" -msgstr "Configurações da Viewport:" +msgstr "Configurações da Viewport" #: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Default Light Normal:" @@ -4634,20 +4711,20 @@ msgid "StyleBox Preview:" msgstr "Pré-Visualização do StyleBox:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "Editor de Região do Sprite" +msgstr "Editor de Região da Textura" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "Editor de Região do Sprite" +msgstr "Editor de Região de Escala" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." msgstr "" +"Sem textura nesse nó.\n" +"Defina uma textura para poder editar essa região." #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -4675,8 +4752,12 @@ msgid "Remove Class Items" msgstr "Remover Itens de Classe" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "Criar Modelo" +msgid "Create Empty Template" +msgstr "Criar Modelo Vazio" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "Criar Modelo de Editor Vazio" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4762,32 +4843,36 @@ msgid "Erase TileMap" msgstr "Apagar TileMap" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Balde" +msgid "Erase selection" +msgstr "Apagar Seleção" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Pegar Tile" +msgid "Find tile" +msgstr "Localizar tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Selecionar" +msgid "Transpose" +msgstr "Transpor" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "Apagar Seleção" +msgid "Mirror X" +msgstr "Espelhar X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "Transpor" +msgid "Mirror Y" +msgstr "Espelhar Y" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "Balde" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Espelhar X (A)" +msgid "Pick Tile" +msgstr "Pegar Tile" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Espelhar Y (S)" +msgid "Select" +msgstr "Selecionar" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -4930,8 +5015,8 @@ msgstr "Ação" msgid "" "Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Filtros para exportar arquivos que não sejam recursos (separados por vÃrgula, " -"e.g.: *.json, *.txt):" +"Filtros para exportar arquivos que não sejam recursos (separados por " +"vÃrgula, e.g.: *.json, *.txt):" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" @@ -4977,7 +5062,7 @@ msgstr "Formatos de Compressão:" #: tools/editor/project_export.cpp msgid "Image Groups" -msgstr "Grupos de Imagens:" +msgstr "Grupos de Imagens" #: tools/editor/project_export.cpp msgid "Groups:" @@ -5105,7 +5190,7 @@ msgstr "Caminho de projeto inválido, o caminho deve existir!" #: tools/editor/project_manager.cpp msgid "Invalid project path, engine.cfg must not exist." -msgstr "Caminho de projeto inválido, engine.cfg não deve existir!" +msgstr "Caminho de projeto inválido, engine.cfg não deve existir." #: tools/editor/project_manager.cpp msgid "Invalid project path, engine.cfg must exist." @@ -5172,14 +5257,12 @@ msgid "Remove project from the list? (Folder contents will not be modified)" msgstr "Remover projeto da lista? (O conteúdo da pasta não será modificado)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "Nome do Projeto:" +msgstr "Gerenciador de Projetos" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "Sair para a Lista de Projetos" +msgstr "Lista de Projetos" #: tools/editor/project_manager.cpp msgid "Run" @@ -5199,22 +5282,19 @@ msgstr "Sair" #: tools/editor/project_settings.cpp msgid "Key " -msgstr "" +msgstr "Chave " #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Button" -msgstr "Botão" +msgstr "Botão do Joystick" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Joy Axis" -msgstr "Eixo" +msgstr "Eixo do Joystick" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Mouse Button" -msgstr "Botão do Mouse:" +msgstr "Botão do Mous" #: tools/editor/project_settings.cpp msgid "Invalid action (anything goes but '/' or ':')." @@ -5332,17 +5412,16 @@ msgstr "" #: tools/editor/project_settings.cpp msgid "Invalid name. Must not collide with an existing global constant name." msgstr "" -"Nome inválido. Não é permitido utilizar nomes de constantes globais da engine." +"Nome inválido. Não é permitido utilizar nomes de constantes globais da " +"engine." #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "A ação \"%s\" já existe!" +msgstr "Autoload \"%s\" já existe!" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" -msgstr "Remover Autoload" +msgstr "Renomear Autoload" #: tools/editor/project_settings.cpp msgid "Toggle AutoLoad Globals" @@ -5454,7 +5533,7 @@ msgstr "Remapeamentos por Localidade:" #: tools/editor/project_settings.cpp msgid "Locale" -msgstr "Localidade:" +msgstr "Localidade" #: tools/editor/project_settings.cpp msgid "AutoLoad" @@ -5634,8 +5713,8 @@ msgstr "Ok" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" "Não se pode instanciar a cena \"%s\" porque a cena atual existe dentro de um " "de seus nós." @@ -5813,6 +5892,10 @@ msgid "Load As Placeholder" msgstr "Carregar como Substituto" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "Descartar Instanciação" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Abrir no Editor" @@ -5869,9 +5952,8 @@ msgid "View Owners.." msgstr "Visualizar Proprietários..." #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "Copiar Parâmetros" +msgstr "Copiar Caminho" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -5975,7 +6057,7 @@ msgstr "Caminho válido" #: tools/editor/script_create_dialog.cpp msgid "Class Name:" -msgstr "Nome da Classe" +msgstr "Nome da Classe:" #: tools/editor/script_create_dialog.cpp msgid "Built-In Script" @@ -6042,18 +6124,16 @@ msgid "Remote Inspector" msgstr "Inspetor Remoto" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Live Scene Tree:" -msgstr "Ãrvore de Cena:" +msgstr "Ãrvore de Cena ao vivo:" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Remote Object Properties: " -msgstr "Propriedades do objeto." +msgstr "Propriedades do Objeto Remoto: " #: tools/editor/script_editor_debugger.cpp msgid "Profiler" -msgstr "" +msgstr "Profiler" #: tools/editor/script_editor_debugger.cpp msgid "Monitor" @@ -6064,9 +6144,8 @@ msgid "Value" msgstr "Valor" #: tools/editor/script_editor_debugger.cpp -#, fuzzy msgid "Monitors" -msgstr "Monitor" +msgstr "Monitores" #: tools/editor/script_editor_debugger.cpp msgid "List of Video Memory Usage by Resource:" @@ -6094,7 +6173,7 @@ msgstr "Uso" #: tools/editor/script_editor_debugger.cpp msgid "Misc" -msgstr "" +msgstr "Misc" #: tools/editor/script_editor_debugger.cpp msgid "Clicked Control:" @@ -6114,7 +6193,7 @@ msgstr "Definir a partir da árvore" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "Atalhos" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6152,12 +6231,18 @@ msgstr "Mudar o tamanho do Shape Ray" msgid "Change Notifier Extents" msgstr "Alterar a Extensão do Notificador" +#~ msgid "Binds (Extra Params):" +#~ msgstr "Ligações (Parâmetros Extra):" + +#~ msgid "Method In Node:" +#~ msgstr "Método no Nó:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "Recarregar Tool Script (suave)" + #~ msgid "Edit Connections.." #~ msgstr "Editar Conexões..." -#~ msgid "Connections:" -#~ msgstr "Conexões:" - #~ msgid "Set Params" #~ msgstr "Definir Parâmetros" diff --git a/tools/translations/ru.po b/tools/translations/ru.po index 138aa2c858..63fb6c4177 100644 --- a/tools/translations/ru.po +++ b/tools/translations/ru.po @@ -1,24 +1,66 @@ -# LANGUAGE translation of the Godot Engine editor +# Russian translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# DimOkGamer dimokgamer@gmail.com , 2016 -# Maxim toby3d Lebedev mail@toby3d.ru , 2016 # +# DimOkGamer <dimokgamer@gmail.com>, 2016. +# Maxim toby3d Lebedev <mail@toby3d.ru>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: \n" +"PO-Revision-Date: 2016-06-19 17:29+0300\n" "Last-Translator: DimOkGamer <dimokgamer@gmail.com>\n" -"Language-Team: Russian\n" +"Language-Team: Russian <https://hosted.weblate.org/projects/godot-" +"engine/godot/ru/>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 1.8.8\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "Ðеверный тип аргумента Ð´Ð»Ñ convert(), иÑпользуйте TYPE_* конÑтанты." + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "Ðе хватает байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð², или неверный формат." + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "Ðргумент шага равен нулю!" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "Скрипт без ÑкземплÑра" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "ОÑнован не на Ñкрипте" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "ОÑнован не на файле реÑурÑов" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (отÑутÑтвует @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" +"ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (невозможно загрузить Ñкрипт из @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (неверный Ñкрипт в @path)" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "ÐедопуÑтимый ÑкземплÑÑ€ ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (неверные подклаÑÑÑ‹)" #: scene/2d/animated_sprite.cpp msgid "" @@ -44,8 +86,8 @@ msgid "" msgstr "" "CollisionPolygon2D Ñлужит только Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтолкновений фигурам типа " "CollisionObject2D. ПожалуйÑта иÑпользовать его только в качеÑтве дочернего " -"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать им " -"форму." +"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать " +"им форму." #: scene/2d/collision_polygon_2d.cpp msgid "An empty CollisionPolygon2D has no effect on collision." @@ -59,8 +101,8 @@ msgid "" msgstr "" "CollisionShape2D Ñлужит только Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтолкновений фигурам типа " "CollisionObject2D. ПожалуйÑта иÑпользовать его только в качеÑтве дочернего " -"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать им " -"форму." +"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать " +"им форму." #: scene/2d/collision_shape_2d.cpp msgid "" @@ -109,8 +151,8 @@ msgstr "" msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." msgstr "" -"Ðод ParallaxLayer работает только при уÑтановке его в качеÑтве дочернего узла " -"ParallaxBackground." +"Ðод ParallaxLayer работает только при уÑтановке его в качеÑтве дочернего " +"узла ParallaxBackground." #: scene/2d/particles_2d.cpp msgid "Path property must point to a valid Particles2D node to work." @@ -137,26 +179,27 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹, параметр Path должен указывать на дейÑтвительный Ðод Viewport. " "Такой Viewport должен быть уÑтановлен в качеÑтве цели рендеринга." #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" -"ОблаÑти проÑмотра уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑвойÑтве path должна быть назначена \"целью " -"визуализации\" Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñтот Ñпрайт работал." +"ОблаÑти проÑмотра уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑвойÑтве path должна быть назначена \"" +"целью визуализации\" Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñтот Ñпрайт работал." #: scene/2d/visibility_notifier_2d.cpp msgid "" "VisibilityEnable2D works best when used with the edited scene root directly " "as parent." msgstr "" -"VisibilityEnable2D работает лучше, когда иÑпользуетÑÑ, как дочерний нод корнÑ." +"VisibilityEnable2D работает лучше, когда иÑпользуетÑÑ, как дочерний нод " +"корнÑ." #: scene/3d/body_shape.cpp msgid "" @@ -196,8 +239,8 @@ msgstr "РеÑÑƒÑ€Ñ NavigationMesh должен быть уÑтановлен Ð #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" "NavigationMeshInstance должен быть ребёнком или внуком нода Navigation. Он " "обеÑпечивает только навигационные данные." @@ -401,7 +444,8 @@ msgstr "Ð’Ñтавить" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "Выбрать вÑе" @@ -421,8 +465,8 @@ msgstr "Отменить" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" "Ð’Ñплывающие окна будут ÑкрыватьÑÑ Ð¿Ð¾-умолчанию, еÑли Ð’Ñ‹ не вызовете popup() " "или любой из popup*(). Ð”ÐµÐ»Ð°Ñ Ð¸Ñ… доÑтупными Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¼Ñ‹Ñль, " @@ -538,6 +582,18 @@ msgid "Anim Delete Keys" msgstr "Ключ удалён" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "ÐепрерывнаÑ" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "ДиÑкретнаÑ" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "Триггер" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "Ключ добавлен" @@ -645,6 +701,10 @@ msgid "Change Anim Loop" msgstr "Изменено зацикливание анимации" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "Изменена интерполÑÑ†Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "Создан ключ Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼ значением" @@ -685,6 +745,10 @@ msgid "Enable/Disable looping in animation." msgstr "Включить/отключить зацикливание в анимации." #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "Включить/отключить интерполÑцию при зацикливании анимации." + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "Добавить новые дорожки." @@ -949,13 +1013,9 @@ msgid "Method in target Node must be specified!" msgstr "Метод должен быть указан в целевом Ðоде!" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +msgid "Conect To Node:" msgstr "ПриÑоединить к ноду:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "СвÑзи (необÑзательные параметры):" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -965,17 +1025,22 @@ msgstr "Добавить" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "Удалить" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "Путь к ноду:" +msgid "Add Extra Call Argument:" +msgstr "Добавить дополнительный параметр вызова:" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "Ðазвание метода:" +msgid "Extra Call Arguments:" +msgstr "Дополнительные параметры вызова:" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "Путь к ноду:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -998,6 +1063,10 @@ msgid "Connect '%s' to '%s'" msgstr "ПриÑоединить '%s' к '%s'" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "Подключение Ñигнала:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "Создать подпиÑку" @@ -1138,7 +1207,8 @@ msgid "Delete selected files?" msgstr "Удалить выбранные файлы?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "Удалить" @@ -1335,8 +1405,8 @@ msgstr "Создание ÑÑкизов" msgid "" "Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." msgstr "" -"Ðе возможно Ñохранить Ñцену. ВероÑтно, завиÑимоÑти (ÑкземплÑры) не могли быть " -"удовлетворены." +"Ðе возможно Ñохранить Ñцену. ВероÑтно, завиÑимоÑти (ÑкземплÑры) не могли " +"быть удовлетворены." #: tools/editor/editor_node.cpp msgid "Failed to load resource." @@ -1522,8 +1592,8 @@ msgstr "ЯÑно" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "Ошибка при загрузке Ñцены, она должна быть внутри каталога проекта. " "ИÑпользуйте \"Импорт\", чтобы открыть Ñцену, а затем Ñохраните её в каталоге " @@ -1575,6 +1645,14 @@ msgid "Go to previously opened scene." msgstr "Перейти к предыдущей открытой Ñцене." #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "ПолноÑкранный режим" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "Свободный режим" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "Операции Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñцены." @@ -1727,8 +1805,8 @@ msgstr "Развернуть Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ отладкой" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" "При ÑкÑпорте или развёртывании, полученный иÑполнÑемый файл будет пытатьÑÑ " "подключитьÑÑ Ðº IP Ñтого компьютера Ñ Ñ†ÐµÐ»ÑŒÑŽ отладки." @@ -1743,8 +1821,8 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" "Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, ÑкÑпорт или развёртывание будет Ñоздавать " "минимальный иÑполнÑемый файл.\n" @@ -1860,9 +1938,7 @@ msgstr "Загрузить ÑущеÑтвующий реÑÑƒÑ€Ñ Ñ Ð´Ð¸Ñка Ð msgid "Save the currently edited resource." msgstr "Сохранить текущий редактируемый реÑурÑ." -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "Сохранить как.." @@ -2513,8 +2589,8 @@ msgid "" "NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " "the project." msgstr "" -"Ð’ÐИМÐÐИЕ: Импортирование 2D текÑтур не обÑзательно. ПроÑто Ñкопируйте png/jpg " -"файлы в папку проекта." +"Ð’ÐИМÐÐИЕ: Импортирование 2D текÑтур не обÑзательно. ПроÑто Ñкопируйте png/" +"jpg файлы в папку проекта." #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Crop empty space." @@ -2737,7 +2813,8 @@ msgstr "ОШИБКÐ: Ðет анимации Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from current pos. (A)" msgstr "" -"ВоÑпроизвеÑти выбранную анимацию в обратном направлении Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ позиции. (A)" +"ВоÑпроизвеÑти выбранную анимацию в обратном направлении Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ позиции. " +"(A)" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Play selected animation backwards from end. (Shift+A)" @@ -2769,14 +2846,22 @@ msgid "Create new animation in player." msgstr "Создать новую анимацию." #: tools/editor/plugins/animation_player_editor_plugin.cpp -msgid "Load an animation from disk." +msgid "Load animation from disk." msgstr "Загрузить анимацию Ñ Ð´Ð¸Ñка." #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "Загрузить Ñту анимацию Ñ Ð´Ð¸Ñка." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Save the current animation" msgstr "Сохранить текущую анимацию" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "Сохранить как" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "Показать ÑпиÑок анимаций." @@ -3899,7 +3984,8 @@ msgstr "Импортировать тему" msgid "Save Theme As.." msgstr "Сохранить тему как.." -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "Файл" @@ -3971,12 +4057,8 @@ msgid "Auto Indent" msgstr "ÐвтоотÑтуп" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script" -msgstr "Перезагрузить инÑтрум. Ñкрипт" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "Перезагрузить инÑтрум. Ñкрипт (мÑгко)" +msgid "Soft Reload Script" +msgstr "МÑгко перезагрузить Ñкрипты" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4068,8 +4150,8 @@ msgid "Help" msgstr "Справка" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" -msgstr "КонтекÑтнаÑ" +msgid "Contextual Help" +msgstr "КонтекÑÑ‚Ð½Ð°Ñ Ñправка" #: tools/editor/plugins/script_editor_plugin.cpp msgid "Tutorials" @@ -4277,10 +4359,6 @@ msgid "Transform Aborted." msgstr "ÐŸÑ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°ÐµÑ‚ÑÑ." #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "Вид Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð¾ÑкоÑти." - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "Преобразование по X." @@ -4293,6 +4371,10 @@ msgid "Z-Axis Transform." msgstr "Преобразование по Z." #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "Вид Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð¾ÑкоÑти." + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "МаÑштабирование до %s%%." @@ -4674,8 +4756,12 @@ msgid "Remove Class Items" msgstr "Удалить Ñлемент клаÑÑа" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" -msgstr "Создать шаблон" +msgid "Create Empty Template" +msgstr "Создать пуÑтой образец" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "Создать пуÑтой образец редактора" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "CheckBox Radio1" @@ -4761,32 +4847,36 @@ msgid "Erase TileMap" msgstr "Стирать карту тайлов" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "Заливка" +msgid "Erase selection" +msgstr "ОчиÑтить выделенное" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "Выбрать тайл" +msgid "Find tile" +msgstr "Ðайти тайл" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "Выделение" +msgid "Transpose" +msgstr "ТранÑпонировать" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "ОчиÑтить выделенное" +msgid "Mirror X" +msgstr "Зеркально по X" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" -msgstr "ТранÑпонировать" +msgid "Mirror Y" +msgstr "Зеркально по Y" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "Заливка" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" -msgstr "Зеркально по X (A)" +msgid "Pick Tile" +msgstr "Выбрать тайл" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" -msgstr "Зеркально по Y (S)" +msgid "Select" +msgstr "Выделение" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" @@ -4929,8 +5019,8 @@ msgstr "ДейÑтвие" msgid "" "Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" msgstr "" -"Фильтр Ð´Ð»Ñ ÑкÑпорта не реÑурÑных файлов (через запÑтую, например: *.json, *." -"txt):" +"Фильтр Ð´Ð»Ñ ÑкÑпорта не реÑурÑных файлов (через запÑтую, например: *.json, " +"*.txt):" #: tools/editor/project_export.cpp msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" @@ -5315,7 +5405,8 @@ msgstr "ДопуÑтимые Ñимволы:" #: tools/editor/project_settings.cpp msgid "Invalid name. Must not collide with an existing engine class name." msgstr "" -"ÐедопуÑтимое имÑ. Ðе должно конфликтовать Ñ ÑущеÑтвующим именем клаÑÑа движка." +"ÐедопуÑтимое имÑ. Ðе должно конфликтовать Ñ ÑущеÑтвующим именем клаÑÑа " +"движка." #: tools/editor/project_settings.cpp msgid "Invalid name. Must not collide with an existing buit-in type name." @@ -5629,8 +5720,8 @@ msgstr "Ок" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" "Ðевозможно добавить Ñцену %s, потому что Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ñцена ÑущеÑтвует в одном из " "его нодов." @@ -5764,8 +5855,8 @@ msgid "" "Instance a scene file as a Node. Creates an inherited scene if no root node " "exists." msgstr "" -"Добавить файл Ñцены как нод. Создаёт наÑледуемую Ñцену, еÑли корневой узел не " -"ÑущеÑтвует." +"Добавить файл Ñцены как нод. Создаёт наÑледуемую Ñцену, еÑли корневой узел " +"не ÑущеÑтвует." #: tools/editor/scene_tree_editor.cpp msgid "" @@ -5808,6 +5899,10 @@ msgid "Load As Placeholder" msgstr "Загрузить как заполнитель" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "ОтброÑить инÑтанÑинг" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "Открыть в редакторе" @@ -6143,12 +6238,18 @@ msgstr "Изменена длинна луча" msgid "Change Notifier Extents" msgstr "Изменены границы уведомителÑ" +#~ msgid "Binds (Extra Params):" +#~ msgstr "СвÑзи (необÑзательные параметры):" + +#~ msgid "Method In Node:" +#~ msgstr "Ðазвание метода:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "Перезагрузить инÑтрум. Ñкрипт (мÑгко)" + #~ msgid "Edit Connections.." #~ msgstr "Изменить ÑвÑзи.." -#~ msgid "Connections:" -#~ msgstr "СвÑзи:" - #~ msgid "Set Params" #~ msgstr "Ðазначить параметры" diff --git a/tools/translations/sk.po b/tools/translations/sk.po new file mode 100644 index 0000000000..b21333b7f8 --- /dev/null +++ b/tools/translations/sk.po @@ -0,0 +1,6106 @@ +# Slovak translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# lablazer <avojtus@centrum.sk>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-06-11 11:23+0000\n" +"Last-Translator: lablazer <avojtus@centrum.sk>\n" +"Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/" +"godot/sk/>\n" +"Language: sk\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "Prázdny CollisionPolygon2D nemá žiaden efekt na kolÃziu." + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" +"CollisionShape2D slúži iba na pridelenie kolÃzneho tvaru objektu vydedeného " +"z CollisionObject2D uzlu. ProsÃm, použite ho iba ako dieÅ¥a objektu Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, atÄ. aby ste im dali tvar." + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "" +"MusÃte nastaviÅ¥ tvar objektu CollisionShape2D aby fungoval. ProsÃm, vytvorte " +"preň tvarový objekt!" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "Textúra s tvarom svetla musà maÅ¥ nastavenú vlastnosÅ¥ \"textúra\"." + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "" +"Okluzorový polygón musà byÅ¥ nastavený (alebo vykreslený) aby sa okluzor " +"prejavil." + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/import_settings.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Conect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp +#: tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined.\n" +"Select one from \"Project Settings\" under the 'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Open Project Manager? \n" +"(Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s) or folder(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +#: tools/editor/import_settings.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/import_settings.cpp +msgid "Imported Resources" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Name" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Custom Root Node Type:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Auto" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "The Following Files are Missing:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys (Ins)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top (Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom (Shift+Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left (Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right (Shift+Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front (Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear (Shift+Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Selection (F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view (Ctrl+Shift+F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default sRGB" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Scale Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "" +"No texture in this node.\n" +"Set a texture to be able to edit region." +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Key " +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Axis" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Inherit Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Inspector" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Scene Tree:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Object Properties: " +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" diff --git a/tools/translations/tools.pot b/tools/translations/tools.pot index f007a7be36..854f8fef78 100644 --- a/tools/translations/tools.pot +++ b/tools/translations/tools.pot @@ -1,6 +1,7 @@ # LANGUAGE translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy @@ -10,6 +11,46 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " @@ -98,14 +139,14 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" #: scene/2d/visibility_notifier_2d.cpp @@ -144,8 +185,8 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" #: scene/3d/scenario_fx.cpp @@ -341,7 +382,8 @@ msgstr "" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "" @@ -361,8 +403,8 @@ msgstr "" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" #: scene/main/viewport.cpp @@ -470,6 +512,18 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "" @@ -577,6 +631,10 @@ msgid "Change Anim Loop" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "" @@ -617,6 +675,10 @@ msgid "Enable/Disable looping in animation." msgstr "" #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "" @@ -884,10 +946,6 @@ msgstr "" msgid "Connect To Node:" msgstr "" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -897,16 +955,21 @@ msgstr "" #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" +msgid "Add Extra Call Argument:" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" msgstr "" #: tools/editor/connections_dialog.cpp @@ -930,6 +993,10 @@ msgid "Connect '%s' to '%s'" msgstr "" #: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "" @@ -1064,7 +1131,8 @@ msgid "Delete selected files?" msgstr "" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "" @@ -1441,8 +1509,8 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" #: tools/editor/editor_node.cpp @@ -1458,7 +1526,7 @@ msgid "Save Layout" msgstr "" #: tools/editor/editor_node.cpp -msgid "Load Layout" +msgid "Delete Layout" msgstr "" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp @@ -1466,10 +1534,6 @@ msgid "Default" msgstr "" #: tools/editor/editor_node.cpp -msgid "Delete Layout" -msgstr "" - -#: tools/editor/editor_node.cpp msgid "Switch Scene Tab" msgstr "" @@ -1491,6 +1555,14 @@ msgid "Go to previously opened scene." msgstr "" #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "" @@ -1643,8 +1715,8 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" #: tools/editor/editor_node.cpp @@ -1657,8 +1729,8 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" #: tools/editor/editor_node.cpp @@ -1757,9 +1829,7 @@ msgstr "" msgid "Save the currently edited resource." msgstr "" -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "" @@ -2035,6 +2105,12 @@ msgid "No target font resource!" msgstr "" #: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"Invalid file extension.\n" +"Please use .fnt." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp msgid "Can't load/process source font." msgstr "" @@ -2652,6 +2728,10 @@ msgid "Create new animation in player." msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "" @@ -2660,6 +2740,10 @@ msgid "Save the current animation" msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "" @@ -3778,7 +3862,8 @@ msgstr "" msgid "Save Theme As.." msgstr "" -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "" @@ -3850,11 +3935,7 @@ msgid "Auto Indent" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" +msgid "Soft Reload Script" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -3947,7 +4028,7 @@ msgid "Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +msgid "Contextual Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4154,10 +4235,6 @@ msgid "Transform Aborted." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "" @@ -4170,6 +4247,10 @@ msgid "Z-Axis Transform." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "" @@ -4549,7 +4630,11 @@ msgid "Remove Class Items" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp @@ -4636,31 +4721,35 @@ msgid "Erase TileMap" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" +msgid "Erase selection" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" +msgid "Find tile" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" +msgid "Transpose" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" +msgid "Mirror X" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" +msgid "Pick Tile" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" +msgid "Select" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp @@ -5495,8 +5584,8 @@ msgstr "" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5574,31 +5663,27 @@ msgid "Error duplicating scene to save it." msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "New Scene Root" -msgstr "" - -#: tools/editor/scene_tree_dock.cpp -msgid "Inherit Scene" +msgid "Edit Groups" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Add Child Node" +msgid "Edit Connections" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Instance Child Scene" +msgid "Delete Node(s)" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Change Type" +msgid "Add Child Node" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Edit Groups" +msgid "Instance Child Scene" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Edit Connections" +msgid "Change Type" msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5614,10 +5699,6 @@ msgid "Save Branch as Scene" msgstr "" #: tools/editor/scene_tree_dock.cpp -msgid "Delete Node(s)" -msgstr "" - -#: tools/editor/scene_tree_dock.cpp msgid "Add/Create a New Node" msgstr "" @@ -5666,6 +5747,10 @@ msgid "Load As Placeholder" msgstr "" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" diff --git a/tools/translations/zh_CN.po b/tools/translations/zh_CN.po index b35419f445..70b7845f9d 100644 --- a/tools/translations/zh_CN.po +++ b/tools/translations/zh_CN.po @@ -1,38 +1,81 @@ -# LANGUAGE translation of the Godot Engine editor +# Chinese (China) translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# # Geequlim <geequlim@gmail.com>, 2016. # msgid "" msgstr "" "Project-Id-Version: Godot Engine editor\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2016-05-31 23:28+0800\n" +"PO-Revision-Date: 2016-06-11 11:37+0000\n" "Last-Translator: Geequlim <geequlim@gmail.com>\n" -"Language-Team: æ±‰è¯ <geequlim@gmail.com>\n" +"Language-Team: Chinese (China) <https://hosted.weblate.org/projects/godot-" +"engine/godot/zh_CN/>\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Gtranslator 2.91.7\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +#, fuzzy +msgid "Not a script with an instance" +msgstr "没有选用è¦å®žä¾‹åŒ–的场景ï¼" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +#, fuzzy +msgid "Not based on a resource file" +msgstr "è¯·è®¾ç½®ç›®æ ‡å—体资æºï¼" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite to display frames." msgstr "" -"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— 法显示动" -"画帧。" +"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— 法显示" +"动画帧。" #: scene/2d/canvas_modulate.cpp msgid "" "Only one visible CanvasModulate is allowed per scene (or set of instanced " "scenes). The first created one will work, while the rest will be ignored." msgstr "" -"æ¯ä¸ªåœºæ™¯ä¸åªå…许有一个CanvasModulate类型的节点,场景ä¸çš„第一个CanvasModulate节" -"点能æ£å¸¸å·¥ä½œï¼Œå…¶ä½™çš„将被忽略。" +"æ¯ä¸ªåœºæ™¯ä¸åªå…许有一个CanvasModulate类型的节点,场景ä¸çš„第一个CanvasModulate" +"节点能æ£å¸¸å·¥ä½œï¼Œå…¶ä½™çš„将被忽略。" #: scene/2d/collision_polygon_2d.cpp msgid "" @@ -66,7 +109,7 @@ msgstr "形状资æºå¿…须是通过CollisionShape2D节点的shape属性创建的 msgid "" "A texture with the shape of the light must be supplied to the 'texture' " "property." -msgstr "" +msgstr "光照的形状与纹ç†å¿…é¡»æä¾›ç»™çº¹ç†å±žæ€§ã€‚" #: scene/2d/light_occluder_2d.cpp msgid "" @@ -95,7 +138,8 @@ msgstr "" #: scene/2d/parallax_layer.cpp msgid "" "ParallaxLayer node only works when set as child of a ParallaxBackground node." -msgstr "ParallaxLayer类型的节点必须作为ParallaxBackgroundçš„å节点æ‰èƒ½æ£å¸¸å·¥ä½œã€‚" +msgstr "" +"ParallaxLayer类型的节点必须作为ParallaxBackgroundçš„å节点æ‰èƒ½æ£å¸¸å·¥ä½œã€‚" #: scene/2d/particles_2d.cpp msgid "Path property must point to a valid Particles2D node to work." @@ -114,21 +158,21 @@ msgid "" "A SampleLibrary resource must be created or set in the 'samples' property in " "order for SamplePlayer to play sound." msgstr "" -"SampleLibrary类型的资æºå¿…须是通过SamplePlayer类型节点的sampleså±žæ€§åˆ›å»ºçš„ï¼Œè¿™æ ·" -"çš„èµ„æºæ‰èƒ½ç”¨äºŽæ’放声音。" +"SampleLibrary类型的资æºå¿…须是通过SamplePlayer类型节点的samples属性创建的,这" +"æ ·çš„èµ„æºæ‰èƒ½ç”¨äºŽæ’放声音。" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" "Path属性必须指å‘ä¸€ä¸ªåˆæ³•çš„Viewport节点æ‰èƒ½å·¥ä½œï¼ŒåŒæ—¶æ¤Viewport还需è¦å¯" "用'render target'。" #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" "为了让æ¤ç²¾çµæ£å¸¸å·¥ä½œï¼Œå®ƒçš„path属性所指å‘çš„Viewport需è¦å¼€å¯'render target'。" @@ -174,8 +218,8 @@ msgstr "æ¤èŠ‚ç‚¹éœ€è¦è®¾ç½®NavigationMeshèµ„æºæ‰èƒ½å·¥ä½œã€‚" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" "NavigationMeshInstance类型节点必须作为Navigation节点的å噿‰èƒ½æä¾›å¯¼èˆªæ•°æ®ã€‚" @@ -193,13 +237,12 @@ msgstr "" "æ£å¸¸æ’放声音。" #: scene/3d/sprite_3d.cpp -#, fuzzy msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " "order for AnimatedSprite3D to display frames." msgstr "" -"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— 法显示动" -"画帧。" +"SpriteFrame资æºå¿…须是通过AnimatedSprite3D节点的Frames属性创建的,å¦åˆ™æ— 法显示" +"动画帧。" #: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Cancel" @@ -215,7 +258,7 @@ msgstr "æç¤ºï¼" #: scene/gui/dialogs.cpp msgid "Please Confirm..." -msgstr "请确认" +msgstr "请确认..." #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp msgid "File Exists, Overwrite?" @@ -237,24 +280,20 @@ msgid "Open" msgstr "打开" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File" -msgstr "打开声音文件" +msgstr "打开文件" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open File(s)" -msgstr "打开声音文件" +msgstr "打开文件" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a Directory" -msgstr "选择目录" +msgstr "打开目录" #: scene/gui/file_dialog.cpp -#, fuzzy msgid "Open a File or Directory" -msgstr "选择目录" +msgstr "打开文件或目录" #: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp #: tools/editor/editor_node.cpp @@ -295,7 +334,7 @@ msgstr "ç›é€‰ï¼š" #: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Name:" -msgstr "åç§°" +msgstr "åç§°:" #: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp #: tools/editor/editor_file_dialog.cpp @@ -318,7 +357,7 @@ msgstr "Alt+" #: scene/gui/input_action.cpp msgid "Ctrl+" -msgstr "" +msgstr "Ctrl+" #: scene/gui/input_action.cpp tools/editor/project_settings.cpp #: tools/editor/settings_config_dialog.cpp @@ -381,7 +420,8 @@ msgstr "粘贴" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "全选" @@ -401,11 +441,11 @@ msgstr "撤销" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" -"Popupå¯¹è±¡åœ¨ä½ è°ƒç”¨popup()方法之å‰å°†ä¿æŒéšè—,这里设置为å¯è§å¹¶ä¸ä»£è¡¨æ‰§è¡Œåœºæ™¯æ—¶å®ƒ" -"会出现。" +"Popupå¯¹è±¡åœ¨ä½ è°ƒç”¨popup()方法之å‰å°†ä¿æŒéšè—,这里设置为å¯è§å¹¶ä¸ä»£è¡¨æ‰§è¡Œåœºæ™¯æ—¶" +"它会出现。" #: scene/main/viewport.cpp msgid "" @@ -414,6 +454,9 @@ msgid "" "obtain a size. Otherwise, make it a RenderTarget and assign its internal " "texture to some node for display." msgstr "" +"这个Viewport未设置render targetã€‚å¦‚æžœä½ åˆ»æ„为之,直接在å±å¹•上显示其内容,使其" +"æˆä¸ºå控件的所以它å¯ä»¥èŽ·å–大å°ã€‚å¦åˆ™è¯·è®¾ç½®render target,将其内部纹ç†åˆ†é…给一" +"些节点显示。" #: scene/resources/dynamic_font.cpp #: tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -512,6 +555,20 @@ msgid "Anim Delete Keys" msgstr "åˆ é™¤å…³é”®å¸§" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Continuous" +msgstr "ç»§ç»" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Discrete" +msgstr "åˆ é™¤äº‹ä»¶è¿žæŽ¥" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "æ·»åŠ å…³é”®å¸§" @@ -619,6 +676,11 @@ msgid "Change Anim Loop" msgstr "修改动画循环" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Change Anim Loop Interpolation" +msgstr "修改动画循环" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "" @@ -659,6 +721,11 @@ msgid "Enable/Disable looping in animation." msgstr "å¯ç”¨/ç¦ç”¨å¾ªçޝ" #: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Enable/Disable interpolation when looping animation." +msgstr "å¯ç”¨/ç¦ç”¨å¾ªçޝ" + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "新建轨é“" @@ -779,26 +846,24 @@ msgid "Site:" msgstr "站点:" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Support.." -msgstr "导出.." +msgstr "支æŒ.." #: tools/editor/asset_library_editor_plugin.cpp msgid "Official" -msgstr "" +msgstr "官方" #: tools/editor/asset_library_editor_plugin.cpp msgid "Community" -msgstr "" +msgstr "社区" #: tools/editor/asset_library_editor_plugin.cpp -#, fuzzy msgid "Testing" -msgstr "设置" +msgstr "测试" #: tools/editor/asset_library_editor_plugin.cpp msgid "Assets ZIP File" -msgstr "" +msgstr "ZIP资æºåŒ…" #: tools/editor/call_dialog.cpp msgid "Method List For '%s':" @@ -925,13 +990,10 @@ msgid "Method in target Node must be specified!" msgstr "必须设置方法的对象节点ï¼" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" +#, fuzzy +msgid "Conect To Node:" msgstr "连接到节点:" -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" -msgstr "ç»‘å®šï¼ˆé™„åŠ å‚æ•°ï¼‰ï¼š" - #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp #: tools/editor/plugins/item_list_editor_plugin.cpp #: tools/editor/plugins/theme_editor_plugin.cpp @@ -941,17 +1003,24 @@ msgstr "æ·»åŠ " #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "移除" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" -msgstr "节点路径:" +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Extra Call Arguments:" +msgstr "傿•°ï¼š" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" -msgstr "节点方法:" +#, fuzzy +msgid "Path to Node:" +msgstr "节点路径:" #: tools/editor/connections_dialog.cpp msgid "Make Function" @@ -974,6 +1043,11 @@ msgid "Connect '%s' to '%s'" msgstr "连接'%s'到'%s'" #: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Connecting Signal:" +msgstr "事件:" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "" @@ -987,9 +1061,8 @@ msgid "Disconnect" msgstr "åˆ é™¤äº‹ä»¶è¿žæŽ¥" #: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp -#, fuzzy msgid "Signals" -msgstr "事件:" +msgstr "ä¿¡å·" #: tools/editor/create_dialog.cpp msgid "Create New" @@ -1109,7 +1182,8 @@ msgid "Delete selected files?" msgstr "åˆ é™¤é€‰ä¸çš„æ–‡ä»¶ï¼Ÿ" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "åˆ é™¤" @@ -1243,7 +1317,6 @@ msgid "Setting Up.." msgstr "é…ç½®.." #: tools/editor/editor_log.cpp -#, fuzzy msgid " Output:" msgstr "输出" @@ -1314,11 +1387,11 @@ msgstr "åŠ è½½èµ„æºå¤±è´¥ã€‚" #: tools/editor/editor_node.cpp msgid "Can't load MeshLibrary for merging!" -msgstr "" +msgstr "æ— æ³•åŠ è½½è¦åˆå¹¶çš„MeshLibrary" #: tools/editor/editor_node.cpp msgid "Error saving MeshLibrary!" -msgstr "" +msgstr "ä¿å˜MeshLibrary出错ï¼" #: tools/editor/editor_node.cpp msgid "Can't load TileSet for merging!" @@ -1357,7 +1430,6 @@ msgid "Copy Params" msgstr "æ‹·è´å‚æ•°" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Paste Params" msgstr "粘贴帧" @@ -1379,9 +1451,8 @@ msgid "Make Sub-Resources Unique" msgstr "" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Open in Help" -msgstr "打开场景" +msgstr "查看帮助" #: tools/editor/editor_node.cpp msgid "There is no defined scene to run." @@ -1392,6 +1463,8 @@ msgid "" "No main scene has ever been defined.\n" "Select one from \"Project Settings\" under the 'application' category." msgstr "" +"尚未定义主场景。\n" +"请在项目设置的application分类下设置选择主场景。" #: tools/editor/editor_node.cpp msgid "Current scene was never saved, please save it prior to running." @@ -1407,7 +1480,7 @@ msgstr "打开场景" #: tools/editor/editor_node.cpp msgid "Open Base Scene" -msgstr "" +msgstr "打开父场景" #: tools/editor/editor_node.cpp msgid "Quick Open Scene.." @@ -1443,7 +1516,7 @@ msgstr "ä¿å˜å¯ç¿»è¯‘å—符串" #: tools/editor/editor_node.cpp msgid "Export Mesh Library" -msgstr "" +msgstr "导出MeshLibrary" #: tools/editor/editor_node.cpp msgid "Export Tile Set" @@ -1489,8 +1562,8 @@ msgstr "é¢" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" "åŠ è½½åœºæ™¯å‡ºé”™ï¼Œåœºæ™¯å¿…é¡»æ”¾åœ¨é¡¹ç›®ç›®å½•ä¸‹ã€‚è¯·å°è¯•使用'导入'èœå•导入æ¤åœºæ™¯åŽå†è¯•。" @@ -1507,9 +1580,8 @@ msgid "Save Layout" msgstr "ä¿å˜å¸ƒå±€" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Load Layout" -msgstr "ä¿å˜å¸ƒå±€" +msgstr "åŠ è½½å¸ƒå±€" #: tools/editor/editor_node.cpp tools/editor/project_export.cpp msgid "Default" @@ -1541,6 +1613,14 @@ msgid "Go to previously opened scene." msgstr "å‰å¾€ä¸Šä¸€ä¸ªæ‰“开的场景。" #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "æ“作场景文件。" @@ -1573,9 +1653,8 @@ msgid "Open Recent" msgstr "最近打开" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Quick Filter Files.." -msgstr "快速查找文件.." +msgstr "快速ç›é€‰æ–‡ä»¶.." #: tools/editor/editor_node.cpp msgid "Convert To.." @@ -1587,7 +1666,7 @@ msgstr "å¯ç¿»è¯‘å—符串" #: tools/editor/editor_node.cpp msgid "MeshLibrary.." -msgstr "" +msgstr "MeshLibrary.." #: tools/editor/editor_node.cpp msgid "TileSet.." @@ -1647,7 +1726,6 @@ msgid "Export" msgstr "导出" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the project." msgstr "è¿è¡Œæ¤é¡¹ç›®ï¼ˆF5)" @@ -1661,14 +1739,12 @@ msgid "Pause the scene" msgstr "æš‚åœè¿è¡Œåœºæ™¯" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Pause Scene" msgstr "æš‚åœè¿è¡Œåœºæ™¯" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Stop the scene." -msgstr "åœæ¢è¿è¡Œåœºæ™¯ï¼ˆF8)" +msgstr "åœæ¢è¿è¡Œåœºæ™¯" #: tools/editor/editor_node.cpp #: tools/editor/plugins/sample_library_editor_plugin.cpp @@ -1676,14 +1752,12 @@ msgid "Stop" msgstr "åœæ¢" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play the edited scene." -msgstr "è¿è¡Œæ‰“开的场景(F6)" +msgstr "打开并è¿è¡Œåœºæ™¯" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Play Scene" -msgstr "ä¿å˜åœºæ™¯" +msgstr "è¿è¡Œåœºæ™¯" #: tools/editor/editor_node.cpp msgid "Play custom scene" @@ -1694,19 +1768,19 @@ msgid "Debug options" msgstr "调试选项" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Deploy with Remote Debug" msgstr "部署远程调试" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" +"导出或å‘å¸ƒé¡¹ç›®æ—¶ï¼Œä¸ºäº†èƒ½å¤Ÿè°ƒè¯•é¡¹ç›®ï¼Œå¯æ‰§è¡Œæ–‡ä»¶å°†è¯•图通过本机IP连接到调试器。" #: tools/editor/editor_node.cpp msgid "Small Deploy with Network FS" -msgstr "" +msgstr "å‘布基于网络文件系统的最å°åº”用包" #: tools/editor/editor_node.cpp msgid "" @@ -1714,9 +1788,13 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" +"当å¯ç”¨æ¤é¡¹åŽï¼Œå°†åœ¨å¯¼å‡ºæˆ–å‘å¸ƒé¡¹ç›®æ—¶ç”Ÿæˆæœ€å°åŒ–å¯è‡ªè¡Œæ–‡ä»¶ã€‚\n" +"文件系统将通过网络连接到编辑器æ¥å®žçŽ°ã€‚\n" +"在Androidå¹³å°ï¼Œé€šè¿‡USBå‘布能获得更快的效率。\n" +"æ¤é€‰é¡¹ç”¨äºŽåŠ å¿«æ¸¸æˆçš„æµ‹è¯•。" #: tools/editor/editor_node.cpp msgid "Visible Collision Shapes" @@ -1726,7 +1804,7 @@ msgstr "碰撞区域å¯è§" msgid "" "Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " "running game if this option is turned on." -msgstr "" +msgstr "如果å¯ç”¨æ¤é¡¹ï¼ŒèŠ‚ç‚¹çš„ç¢°æ’žåŒºåŸŸå’Œraycast将在游æˆè¿è¡Œæ—¶å¯è§ã€‚" #: tools/editor/editor_node.cpp msgid "Visible Navigation" @@ -1736,11 +1814,11 @@ msgstr "Navigationå¯è§" msgid "" "Navigation meshes and polygons will be visible on the running game if this " "option is turned on." -msgstr "" +msgstr "如果å¯ç”¨æ¤é¡¹ï¼Œç”¨äºŽå¯¼èˆªçš„mesh和多边形将在游æˆè¿è¡Œæ—¶å¯è§ã€‚" #: tools/editor/editor_node.cpp msgid "Sync Scene Changes" -msgstr "" +msgstr "åŒæ¥åœºæ™¯ä¿®æ”¹" #: tools/editor/editor_node.cpp msgid "" @@ -1749,11 +1827,12 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"开坿¤é¡¹åŽï¼Œåœ¨ç¼–辑器ä¸å¯¹åœºæ™¯çš„æ‰€æœ‰ä¿®æ”¹éƒ½ä¼šè¢«åº”用与æ£åœ¨è¿è¡Œçš„æ¸¸æˆä¸ã€‚\n" +"当使用远程设备调试时,使用网络文件系统能有效æé«˜ç¼–辑效率。" #: tools/editor/editor_node.cpp -#, fuzzy msgid "Sync Script Changes" -msgstr "有更改时更新UI" +msgstr "åŒæ¥è„šæœ¬å˜æ›´" #: tools/editor/editor_node.cpp msgid "" @@ -1762,6 +1841,8 @@ msgid "" "When used remotely on a device, this is more efficient with network " "filesystem." msgstr "" +"开坿¤é¡¹åŽï¼Œæ‰€æœ‰è„šæœ¬åœ¨ä¿å˜æ—¶éƒ½ä¼šè¢«æ£åœ¨è¿è¡Œçš„æ¸¸æˆé‡æ–°åŠ è½½ã€‚\n" +"当使用远程设备调试时,使用网络文件系统能有效æé«˜ç¼–辑效率。" #: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp msgid "Settings" @@ -1815,9 +1896,7 @@ msgstr "从ç£ç›˜ä¸åŠ è½½èµ„æºå¹¶ç¼–辑。" msgid "Save the currently edited resource." msgstr "ä¿å˜å½“å‰ç¼–辑的资æºã€‚" -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "å¦å˜ä¸º" @@ -2023,9 +2102,8 @@ msgid "Imported Resources" msgstr "已导入的资æº" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "No bit masks to import!" -msgstr "没有è¦å¯¼å…¥çš„项目ï¼" +msgstr "没有è¦å¯¼å…¥çš„bit masksï¼" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -2055,9 +2133,8 @@ msgid "Save path is empty!" msgstr "ä¿å˜è·¯å¾„为空ï¼" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp -#, fuzzy msgid "Import BitMasks" -msgstr "导入贴图" +msgstr "导入BitMask" #: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp #: tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -2201,15 +2278,15 @@ msgstr "动画选项" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Flags" -msgstr "" +msgstr "æ ‡è®°" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Bake FPS:" -msgstr "" +msgstr "烘培FPS:" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Optimizer" -msgstr "" +msgstr "优化" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Max Linear Error" @@ -2248,7 +2325,7 @@ msgstr "循环" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Filters" -msgstr "" +msgstr "ç›é€‰" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Source path is empty." @@ -2292,7 +2369,7 @@ msgstr "" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Custom Root Node Type:" -msgstr "" +msgstr "è‡ªå®šä¹‰æ ¹èŠ‚ç‚¹ç±»åž‹ï¼š" #: tools/editor/io_plugins/editor_scene_import_plugin.cpp msgid "Auto" @@ -2413,7 +2490,7 @@ msgstr "导入2Dç²¾çµé›†" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Cell Size:" -msgstr "" +msgstr "å•元尺寸:" #: tools/editor/io_plugins/editor_texture_import_plugin.cpp msgid "Large Texture" @@ -2597,16 +2674,15 @@ msgstr "" #: tools/editor/node_dock.cpp msgid "Node" -msgstr "" +msgstr "节点" #: tools/editor/node_dock.cpp -#, fuzzy msgid "Groups" msgstr "分组:" #: tools/editor/node_dock.cpp msgid "Select a Node to edit Signals and Groups." -msgstr "" +msgstr "请选择一个节点æ¥è®¾ç½®ä¿¡å·æˆ–分组。" #: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Toggle Autoplay" @@ -2716,6 +2792,11 @@ msgid "Create new animation in player." msgstr "åœ¨æ’æ”¾ä¸åˆ›å»ºåŠ¨ç”»ã€‚" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Load animation from disk." +msgstr "从ç£ç›˜ä¸åŠ è½½åŠ¨ç”»ã€‚" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "从ç£ç›˜ä¸åŠ è½½åŠ¨ç”»ã€‚" @@ -2724,6 +2805,11 @@ msgid "Save the current animation" msgstr "ä¿å˜å½“å‰åŠ¨ç”»" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Save As" +msgstr "å¦å˜ä¸º" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "åœ¨æ’æ”¾å™¨ä¸æ˜¾ç¤ºåŠ¨ç”»åˆ—è¡¨ã€‚" @@ -2968,11 +3054,11 @@ msgstr "" #: tools/editor/plugins/baked_light_editor_plugin.cpp msgid "BakedLightInstance does not contain a BakedLight resource." -msgstr "" +msgstr "BakedLightInstance未包å«BakedLight资æºã€‚" #: tools/editor/plugins/baked_light_editor_plugin.cpp msgid "Bake!" -msgstr "" +msgstr "烘培ï¼" #: tools/editor/plugins/baked_light_editor_plugin.cpp msgid "Reset the lightmap octree baking process (start over)." @@ -3138,7 +3224,7 @@ msgstr "" #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Skeleton.." -msgstr "" +msgstr "骨骼.." #: tools/editor/plugins/canvas_item_editor_plugin.cpp msgid "Make Bones" @@ -3293,7 +3379,7 @@ msgstr "从场景ä¸å¯¼å…¥" #: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp msgid "Update from Scene" -msgstr "" +msgstr "ä»Žåœºæ™¯ä¸æ›´æ–°" #: tools/editor/plugins/item_list_editor_plugin.cpp msgid "Item %d" @@ -3333,7 +3419,7 @@ msgstr "é¼ æ ‡å³é”®ï¼šç§»é™¤ç‚¹" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Mesh is empty!" -msgstr "" +msgstr "Mesh为空ï¼" #: tools/editor/plugins/mesh_instance_editor_plugin.cpp msgid "Create Static Trimesh Body" @@ -3727,12 +3813,12 @@ msgstr "清除UV" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Snap" -msgstr "" +msgstr "å¸é™„" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "Enable Snap" -msgstr "" +msgstr "å¯ç”¨å¸é™„" #: tools/editor/plugins/polygon_2d_editor_plugin.cpp #: tools/editor/plugins/texture_region_editor_plugin.cpp @@ -3842,7 +3928,8 @@ msgstr "导入主题" msgid "Save Theme As.." msgstr "主题å¦å˜ä¸º" -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "文件" @@ -3915,12 +4002,8 @@ msgstr "自动缩进" #: tools/editor/plugins/script_editor_plugin.cpp #, fuzzy -msgid "Reload Tool Script" -msgstr "创建脚本" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" -msgstr "" +msgid "Soft Reload Script" +msgstr "釿–°åŠ è½½Tool脚本" #: tools/editor/plugins/script_editor_plugin.cpp #: tools/editor/plugins/shader_editor_plugin.cpp @@ -4012,7 +4095,8 @@ msgid "Help" msgstr "帮助" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +#, fuzzy +msgid "Contextual Help" msgstr "æœç´¢å…‰æ ‡ä½ç½®" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4221,10 +4305,6 @@ msgid "Transform Aborted." msgstr "å·²å¿½ç•¥å˜æ¢ã€‚" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "Xè½´å˜æ¢ã€‚" @@ -4237,6 +4317,10 @@ msgid "Z-Axis Transform." msgstr "Zè½´å˜æ¢ã€‚" #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "缩放到%s%%" @@ -4577,20 +4661,18 @@ msgid "StyleBox Preview:" msgstr "StyleBox预览:" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Texture Region Editor" -msgstr "ç²¾çµçº¹ç†åŒºåŸŸç¼–辑" +msgstr "纹ç†åŒºåŸŸç¼–辑" #: tools/editor/plugins/texture_region_editor_plugin.cpp -#, fuzzy msgid "Scale Region Editor" -msgstr "ç²¾çµçº¹ç†åŒºåŸŸç¼–辑" +msgstr "缩放区域编辑" #: tools/editor/plugins/texture_region_editor_plugin.cpp msgid "" "No texture in this node.\n" "Set a texture to be able to edit region." -msgstr "" +msgstr "æ¤èŠ‚ç‚¹æ²¡æœ‰è´´å›¾ï¼Œè¯·å…ˆä¸ºå®ƒè®¾ç½®è´´å›¾åŽå†è¯•。" #: tools/editor/plugins/theme_editor_plugin.cpp msgid "Can't save theme to file:" @@ -4618,7 +4700,13 @@ msgid "Remove Class Items" msgstr "移除类项目" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" +#, fuzzy +msgid "Create Empty Template" +msgstr "创建模æ¿" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#, fuzzy +msgid "Create Empty Editor Template" msgstr "创建模æ¿" #: tools/editor/plugins/theme_editor_plugin.cpp @@ -4705,34 +4793,42 @@ msgid "Erase TileMap" msgstr "æ“¦é™¤ç –å—地图" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" -msgstr "" - -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" -msgstr "é€‰æ‹©ç –å—" - -#: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" -msgstr "选择" +#, fuzzy +msgid "Erase selection" +msgstr "擦除选ä¸" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" -msgstr "擦除选ä¸" +#, fuzzy +msgid "Find tile" +msgstr "查找下一项" #: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Transpose" msgstr "转置" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" +#, fuzzy +msgid "Mirror X" msgstr "沿X轴翻转(A)" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" +#, fuzzy +msgid "Mirror Y" msgstr "沿Y轴翻转(S)" #: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "é€‰æ‹©ç –å—" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "选择" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp msgid "Rotate 0 degrees" msgstr "旋转0度" @@ -5111,14 +5207,12 @@ msgid "Remove project from the list? (Folder contents will not be modified)" msgstr "移除æ¤é¡¹ç›®ï¼ˆé¡¹ç›®çš„æ–‡ä»¶ä¸å—å½±å“)" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project Manager" -msgstr "项目å称:" +msgstr "项目管ç†å™¨" #: tools/editor/project_manager.cpp -#, fuzzy msgid "Project List" -msgstr "退出到项目列表" +msgstr "项目列表" #: tools/editor/project_manager.cpp msgid "Run" @@ -5269,12 +5363,10 @@ msgid "Invalid name. Must not collide with an existing global constant name." msgstr "åç§°éžæ³•,与已å˜åœ¨çš„全局常é‡å称冲çªã€‚" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Autoload '%s' already exists!" -msgstr "动作%så·²å˜åœ¨ï¼" +msgstr "Autoload %så·²å˜åœ¨ï¼" #: tools/editor/project_settings.cpp -#, fuzzy msgid "Rename Autoload" msgstr "移除Autoload" @@ -5568,8 +5660,8 @@ msgstr "好的" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "æ— æ³•å®žä¾‹åŒ–åœºæ™¯%s当å‰åœºæ™¯å·²å˜åœ¨äºŽå®ƒçš„å节点ä¸ã€‚" #: tools/editor/scene_tree_dock.cpp @@ -5739,6 +5831,10 @@ msgid "Load As Placeholder" msgstr "åŠ è½½ä¸ºå ä½ç¬¦" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "åœ¨ç¼–è¾‘å™¨ä¸æ‰“å¼€" @@ -5795,9 +5891,8 @@ msgid "View Owners.." msgstr "查看所有者" #: tools/editor/scenes_dock.cpp -#, fuzzy msgid "Copy Path" -msgstr "æ‹·è´å‚æ•°" +msgstr "æ‹·è´è·¯å¾„" #: tools/editor/scenes_dock.cpp msgid "Rename or Move.." @@ -5885,7 +5980,7 @@ msgstr "必须是项目路径" #: tools/editor/script_create_dialog.cpp msgid "Invalid base path" -msgstr "" +msgstr "çˆ¶è·¯å¾„éžæ³•" #: tools/editor/script_create_dialog.cpp msgid "File exists" @@ -6037,7 +6132,7 @@ msgstr "ä»Žåœºæ™¯æ ‘è®¾ç½®" #: tools/editor/settings_config_dialog.cpp msgid "Shortcuts" -msgstr "" +msgstr "å¿«æ·é”®" #: tools/editor/spatial_editor_gizmos.cpp msgid "Change Light Radius" @@ -6075,12 +6170,18 @@ msgstr "" msgid "Change Notifier Extents" msgstr "" +#~ msgid "Binds (Extra Params):" +#~ msgstr "ç»‘å®šï¼ˆé™„åŠ å‚æ•°ï¼‰ï¼š" + +#~ msgid "Method In Node:" +#~ msgstr "节点方法:" + +#~ msgid "Reload Tool Script (Soft)" +#~ msgstr "釿–°åŠ è½½Tool脚本(Soft)" + #~ msgid "Edit Connections.." #~ msgstr "编辑事件连接" -#~ msgid "Connections:" -#~ msgstr "事件:" - #~ msgid "Set Params" #~ msgstr "è®¾ç½®å‚æ•°" diff --git a/tools/translations/zh_HK.po b/tools/translations/zh_HK.po index 62fd341155..8f6476594b 100644 --- a/tools/translations/zh_HK.po +++ b/tools/translations/zh_HK.po @@ -1,6 +1,7 @@ -# LANGUAGE translation of the Godot Engine editor +# Chinese (Honk Kong) translation of the Godot Engine editor # Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community # This file is distributed under the same license as the Godot source code. +# # Wesley <ZX_WT@ymail.com>, 2016. # msgid "" @@ -14,6 +15,46 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + #: scene/2d/animated_sprite.cpp msgid "" "A SpriteFrames resource must be created or set in the 'Frames' property in " @@ -102,14 +143,14 @@ msgstr "" #: scene/2d/sprite.cpp msgid "" -"Path property must point to a valid Viewport node to work. Such Viewport must " -"be set to 'render target' mode." +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." msgstr "" #: scene/2d/sprite.cpp msgid "" -"The Viewport set in the path property must be set as 'render target' in order " -"for this sprite to work." +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." msgstr "" #: scene/2d/visibility_notifier_2d.cpp @@ -148,8 +189,8 @@ msgstr "" #: scene/3d/navigation_mesh.cpp msgid "" -"NavigationMeshInstance must be a child or grandchild to a Navigation node. It " -"only provides navigation data." +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." msgstr "" #: scene/3d/scenario_fx.cpp @@ -348,7 +389,8 @@ msgstr "貼上" #: scene/gui/line_edit.cpp scene/gui/text_edit.cpp #: tools/editor/plugins/script_editor_plugin.cpp -#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "Select All" msgstr "å…¨é¸" @@ -368,8 +410,8 @@ msgstr "復原" #: scene/gui/popup.cpp msgid "" "Popups will hide by default unless you call popup() or any of the popup*() " -"functions. Making them visible for editing is fine though, but they will hide " -"upon running." +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." msgstr "" #: scene/main/viewport.cpp @@ -477,6 +519,19 @@ msgid "Anim Delete Keys" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +#, fuzzy +msgid "Discrete" +msgstr "䏿–·" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Add Key" msgstr "" @@ -584,6 +639,10 @@ msgid "Change Anim Loop" msgstr "" #: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Anim Create Typed Value Key" msgstr "" @@ -624,6 +683,10 @@ msgid "Enable/Disable looping in animation." msgstr "" #: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp msgid "Add new tracks." msgstr "" @@ -889,11 +952,7 @@ msgid "Method in target Node must be specified!" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Connect To Node:" -msgstr "" - -#: tools/editor/connections_dialog.cpp -msgid "Binds (Extra Params):" +msgid "Conect To Node:" msgstr "" #: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp @@ -905,16 +964,21 @@ msgstr "æ·»åŠ " #: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp #: tools/editor/plugins/animation_tree_editor_plugin.cpp -#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp msgid "Remove" msgstr "移除" #: tools/editor/connections_dialog.cpp -msgid "Path To Node:" +msgid "Add Extra Call Argument:" msgstr "" #: tools/editor/connections_dialog.cpp -msgid "Method In Node:" +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" msgstr "" #: tools/editor/connections_dialog.cpp @@ -938,6 +1002,11 @@ msgid "Connect '%s' to '%s'" msgstr "ç”± '%s' 連到 '%s'" #: tools/editor/connections_dialog.cpp +#, fuzzy +msgid "Connecting Signal:" +msgstr "連接" + +#: tools/editor/connections_dialog.cpp msgid "Create Subscription" msgstr "" @@ -1072,7 +1141,8 @@ msgid "Delete selected files?" msgstr "è¦åˆªé™¤é¸ä¸æª”案?" #: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp -#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp msgid "Delete" msgstr "刪除" @@ -1450,8 +1520,8 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "" -"Error loading scene, it must be inside the project path. Use 'Import' to open " -"the scene, then save it inside the project path." +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." msgstr "" #: tools/editor/editor_node.cpp @@ -1500,6 +1570,14 @@ msgid "Go to previously opened scene." msgstr "" #: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp msgid "Operations with scene files." msgstr "" @@ -1655,8 +1733,8 @@ msgstr "" #: tools/editor/editor_node.cpp msgid "" -"When exporting or deploying, the resulting executable will attempt to connect " -"to the IP of this computer in order to be debugged." +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." msgstr "" #: tools/editor/editor_node.cpp @@ -1669,8 +1747,8 @@ msgid "" "executable.\n" "The filesystem will be provided from the project by the editor over the " "network.\n" -"On Android, deploy will use the USB cable for faster performance. This option " -"speeds up testing for games with a large footprint." +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." msgstr "" #: tools/editor/editor_node.cpp @@ -1770,9 +1848,7 @@ msgstr "" msgid "Save the currently edited resource." msgstr "" -#: tools/editor/editor_node.cpp -#: tools/editor/plugins/animation_player_editor_plugin.cpp -#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp msgid "Save As.." msgstr "å¦å˜ç‚º.." @@ -2665,6 +2741,10 @@ msgid "Create new animation in player." msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Load an animation from disk." msgstr "" @@ -2673,6 +2753,11 @@ msgid "Save the current animation" msgstr "" #: tools/editor/plugins/animation_player_editor_plugin.cpp +#, fuzzy +msgid "Save As" +msgstr "å¦å˜ç‚º.." + +#: tools/editor/plugins/animation_player_editor_plugin.cpp msgid "Display list of animations in player." msgstr "" @@ -3791,7 +3876,8 @@ msgstr "" msgid "Save Theme As.." msgstr "" -#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp msgid "File" msgstr "檔案" @@ -3863,11 +3949,7 @@ msgid "Auto Indent" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script" -msgstr "" - -#: tools/editor/plugins/script_editor_plugin.cpp -msgid "Reload Tool Script (Soft)" +msgid "Soft Reload Script" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -3960,7 +4042,7 @@ msgid "Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp -msgid "Contextual" +msgid "Contextual Help" msgstr "" #: tools/editor/plugins/script_editor_plugin.cpp @@ -4167,10 +4249,6 @@ msgid "Transform Aborted." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp -msgid "View Plane Transform." -msgstr "" - -#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "X-Axis Transform." msgstr "" @@ -4183,6 +4261,10 @@ msgid "Z-Axis Transform." msgstr "" #: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp msgid "Scaling to %s%%." msgstr "" @@ -4562,7 +4644,11 @@ msgid "Remove Class Items" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp -msgid "Create Template" +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" msgstr "" #: tools/editor/plugins/theme_editor_plugin.cpp @@ -4649,31 +4735,35 @@ msgid "Erase TileMap" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Bucket" +msgid "Erase selection" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Pick Tile" +msgid "Find tile" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Select" +msgid "Transpose" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Erase Selection" +msgid "Mirror X" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Transpose" +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror X (A)" +msgid "Pick Tile" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp -msgid "Mirror Y (S)" +msgid "Select" msgstr "" #: tools/editor/plugins/tile_map_editor_plugin.cpp @@ -5508,8 +5598,8 @@ msgstr "Ok" #: tools/editor/scene_tree_dock.cpp msgid "" -"Cannot instance the scene '%s' because the current scene exists within one of " -"its nodes." +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." msgstr "" #: tools/editor/scene_tree_dock.cpp @@ -5679,6 +5769,10 @@ msgid "Load As Placeholder" msgstr "" #: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp msgid "Open in Editor" msgstr "" @@ -6019,9 +6113,6 @@ msgstr "" #~ msgid "Edit Connections.." #~ msgstr "編輯連接" -#~ msgid "Connections:" -#~ msgstr "連接" - #~ msgid "Live Editing" #~ msgstr "峿™‚編輯" diff --git a/tools/translations/zh_TW.po b/tools/translations/zh_TW.po new file mode 100644 index 0000000000..64399c4826 --- /dev/null +++ b/tools/translations/zh_TW.po @@ -0,0 +1,6105 @@ +# Chinese (Taiwan) translation of the Godot Engine editor +# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community +# This file is distributed under the same license as the Godot source code. +# +# popcade <popcade@gmail.com>, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Godot Engine editor\n" +"PO-Revision-Date: 2016-06-13 13:57+0000\n" +"Last-Translator: popcade <popcade@gmail.com>\n" +"Language-Team: Chinese (Taiwan) <https://hosted.weblate.org/projects/godot-" +"engine/godot/zh_TW/>\n" +"Language: zh_TW\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 2.7-dev\n" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid type argument to convert(), use TYPE_* constants." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not enough bytes for decoding bytes, or invalid format." +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "step argument is zero!" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not a script with an instance" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a script" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Not based on a resource file" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (missing @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (can't load script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary format (invalid script at @path)" +msgstr "" + +#: modules/gdscript/gd_functions.cpp +msgid "Invalid instance dictionary (invalid subclasses)" +msgstr "" + +#: scene/2d/animated_sprite.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite to display frames." +msgstr "SpriteFrames資æºå¿…é ˆåœ¨Frames屬性ä¸è¢«å‰µå»ºæˆ–è¨ç½®æ‰èƒ½å¤ é¡¯ç¤ºå‹•ç•«æ ¼ã€‚" + +#: scene/2d/canvas_modulate.cpp +msgid "" +"Only one visible CanvasModulate is allowed per scene (or set of instanced " +"scenes). The first created one will work, while the rest will be ignored." +msgstr "" +"æ¯å€‹å ´æ™¯ä¸åƒ…å…許一個å¯è¦‹çš„CanvasModulateï¼Œåªæœ‰ç¬¬ä¸€å€‹CanvasModulate會有作用," +"其餘的將被忽略。" + +#: scene/2d/collision_polygon_2d.cpp +msgid "" +"CollisionPolygon2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" +"CollisionPolygon2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æä¾›ç¢°æ’žå½¢ç‹€è³‡è¨Šï¼Œè«‹å°‡å…¶ä½¿" +"用於Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。" + +#: scene/2d/collision_polygon_2d.cpp +msgid "An empty CollisionPolygon2D has no effect on collision." +msgstr "空白的CollisionPolygon2Dä¸èµ·ç¢°æ’žåµæ¸¬çš„作用。" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"CollisionShape2D only serves to provide a collision shape to a " +"CollisionObject2D derived node. Please only use it as a child of Area2D, " +"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape." +msgstr "" +"CollisionShape2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æä¾›ç¢°æ’žå½¢ç‹€è³‡è¨Šï¼Œè«‹å°‡å…¶ä½¿ç”¨" +"æ–¼Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。" + +#: scene/2d/collision_shape_2d.cpp +msgid "" +"A shape must be provided for CollisionShape2D to function. Please create a " +"shape resource for it!" +msgstr "CollisionShape2Då¿…é ˆè¢«è³¦äºˆå½¢ç‹€æ‰èƒ½é‹ä½œï¼Œè«‹ç‚ºå®ƒå»ºç«‹å€‹å½¢ç‹€å§ï¼" + +#: scene/2d/light_2d.cpp +msgid "" +"A texture with the shape of the light must be supplied to the 'texture' " +"property." +msgstr "光照形狀的æè³ªå¿…é ˆè¢«è³¦èˆ‡åœ¨æè³ªçš„屬性ä¸ã€‚" + +#: scene/2d/light_occluder_2d.cpp +msgid "" +"An occluder polygon must be set (or drawn) for this occluder to take effect." +msgstr "æ¤é®å…‰é«”å¿…é ˆè¢«å»ºç«‹æˆ–è¨ç½®é®è”½å½¢ç‹€æ‰èƒ½ç™¼æ®é®è”½ä½œç”¨ã€‚" + +#: scene/2d/light_occluder_2d.cpp +msgid "The occluder polygon for this occluder is empty. Please draw a polygon!" +msgstr "æ¤é®å…‰é«”沒有被賦予形狀,請繪製一個å§ï¼" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"A NavigationPolygon resource must be set or created for this node to work. " +"Please set a property or draw a polygon." +msgstr "" + +#: scene/2d/navigation_polygon.cpp +msgid "" +"NavigationPolygonInstance must be a child or grandchild to a Navigation2D " +"node. It only provides navigation data." +msgstr "" + +#: scene/2d/parallax_layer.cpp +msgid "" +"ParallaxLayer node only works when set as child of a ParallaxBackground node." +msgstr "" + +#: scene/2d/particles_2d.cpp +msgid "Path property must point to a valid Particles2D node to work." +msgstr "" + +#: scene/2d/path_2d.cpp +msgid "PathFollow2D only works when set as a child of a Path2D node." +msgstr "" + +#: scene/2d/remote_transform_2d.cpp +msgid "Path property must point to a valid Node2D node to work." +msgstr "" + +#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SamplePlayer to play sound." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"Path property must point to a valid Viewport node to work. Such Viewport " +"must be set to 'render target' mode." +msgstr "" + +#: scene/2d/sprite.cpp +msgid "" +"The Viewport set in the path property must be set as 'render target' in " +"order for this sprite to work." +msgstr "" + +#: scene/2d/visibility_notifier_2d.cpp +msgid "" +"VisibilityEnable2D works best when used with the edited scene root directly " +"as parent." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"CollisionShape only serves to provide a collision shape to a CollisionObject " +"derived node. Please only use it as a child of Area, StaticBody, RigidBody, " +"KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/body_shape.cpp +msgid "" +"A shape must be provided for CollisionShape to function. Please create a " +"shape resource for it!" +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "" +"CollisionPolygon only serves to provide a collision shape to a " +"CollisionObject derived node. Please only use it as a child of Area, " +"StaticBody, RigidBody, KinematicBody, etc. to give them a shape." +msgstr "" + +#: scene/3d/collision_polygon.cpp +msgid "An empty CollisionPolygon has no effect on collision." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "A NavigationMesh resource must be set or created for this node to work." +msgstr "" + +#: scene/3d/navigation_mesh.cpp +msgid "" +"NavigationMeshInstance must be a child or grandchild to a Navigation node. " +"It only provides navigation data." +msgstr "" + +#: scene/3d/scenario_fx.cpp +msgid "" +"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)." +msgstr "" + +#: scene/3d/spatial_sample_player.cpp +msgid "" +"A SampleLibrary resource must be created or set in the 'samples' property in " +"order for SpatialSamplePlayer to play sound." +msgstr "" + +#: scene/3d/sprite_3d.cpp +msgid "" +"A SpriteFrames resource must be created or set in the 'Frames' property in " +"order for AnimatedSprite3D to display frames." +msgstr "" + +#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Cancel" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "OK" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Alert!" +msgstr "" + +#: scene/gui/dialogs.cpp +msgid "Please Confirm..." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "File Exists, Overwrite?" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Recognized" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "All Files (*)" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/scenes_dock.cpp +msgid "Open" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open File(s)" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp +msgid "Open a File or Directory" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Save a File" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Create Folder" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp +msgid "Path:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Directories & Files:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "File:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Filter:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Name:" +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp +#: tools/editor/editor_file_dialog.cpp +msgid "Could not create folder." +msgstr "" + +#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp +msgid "Must use a valid extension." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Shift+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Alt+" +msgstr "" + +#: scene/gui/input_action.cpp +msgid "Ctrl+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Meta+" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Device" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Button" +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Left Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Right Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Middle Button." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Up." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Wheel Down." +msgstr "" + +#: scene/gui/input_action.cpp tools/editor/project_settings.cpp +msgid "Axis" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Cut" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Copy" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp +msgid "Paste" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "Select All" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/rich_text_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Clear" +msgstr "" + +#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Undo" +msgstr "" + +#: scene/gui/popup.cpp +msgid "" +"Popups will hide by default unless you call popup() or any of the popup*() " +"functions. Making them visible for editing is fine though, but they will " +"hide upon running." +msgstr "" + +#: scene/main/viewport.cpp +msgid "" +"This viewport is not set as render target. If you intend for it to display " +"its contents directly to the screen, make it a child of a Control so it can " +"obtain a size. Otherwise, make it a RenderTarget and assign its internal " +"texture to some node for display." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error initializing FreeType." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Unknown font format." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Error loading font." +msgstr "" + +#: scene/resources/dynamic_font.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font size." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Disabled" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "All Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Transform" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Value" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Change Call" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Up" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move Anim Track Down" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove Anim Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Duplicate Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Set Transitions to:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Rename" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Track Change Value Mode" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Node Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Edit Selection Curve" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Delete Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Continuous" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Discrete" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Trigger" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Move Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale From Cursor" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Duplicate Selection" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Duplicate Transposed" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Next Step" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Goto Prev Step" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp +msgid "Linear" +msgstr "" + +#: tools/editor/animation_editor.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Constant" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "In-Out" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Out-In" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transitions" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create NEW track for %s and insert key?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Create %d NEW tracks and insert keys?" +msgstr "" + +#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/particles_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp +msgid "Create" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create & Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Track & Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Len" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Change Anim Loop Interpolation" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Create Typed Value Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Insert" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Scale Keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim Add Call Track" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation zoom." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Length (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Animation length (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Step (s):" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Cursor step snap (in seconds)." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable looping in animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable/Disable interpolation when looping animation." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Add new tracks." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track up." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Move current track down." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove selected track." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Track tools" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Enable editing of individual keys by clicking them." +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Anim. Optimizer" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Linear Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max. Angular Error:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Max Optimizable Angle:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Optimize" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Key" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Transition" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Scale Ratio:" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Call Functions in Which Node?" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove invalid keys" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Remove unresolved and empty tracks" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-up all animations" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up Animation(s) (NO UNDO!)" +msgstr "" + +#: tools/editor/animation_editor.cpp +msgid "Clean-Up" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Resize Array" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value Type" +msgstr "" + +#: tools/editor/array_property_edit.cpp +msgid "Change Array Value" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp +#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +#: tools/editor/settings_config_dialog.cpp +msgid "Search:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Sort:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Reverse" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Category:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "All" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Site:" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Support.." +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Official" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Community" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Testing" +msgstr "" + +#: tools/editor/asset_library_editor_plugin.cpp +msgid "Assets ZIP File" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List For '%s':" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Call" +msgstr "" + +#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp +#: tools/editor/import_settings.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp +msgid "Close" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Method List:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Arguments:" +msgstr "" + +#: tools/editor/call_dialog.cpp +msgid "Return:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Go to Line" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Line Number:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "No Matches" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d Ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace All" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Match Case" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Whole Words" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Selection Only" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Search" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp +msgid "Find" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Next" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replaced %d ocurrence(s)." +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Not found!" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Replace By" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Case Sensitive" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Backwards" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Prompt On Replace" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Skip" +msgstr "" + +#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp +msgid "Line:" +msgstr "" + +#: tools/editor/code_editor.cpp +msgid "Col:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Method in target Node must be specified!" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Conect To Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp +msgid "Add" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Remove" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Add Extra Call Argument:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Extra Call Arguments:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Path to Node:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Make Function" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Deferred" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Oneshot" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect '%s' to '%s'" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connecting Signal:" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Create Subscription" +msgstr "" + +#: tools/editor/connections_dialog.cpp +msgid "Connect.." +msgstr "" + +#: tools/editor/connections_dialog.cpp +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Disconnect" +msgstr "" + +#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp +msgid "Signals" +msgstr "" + +#: tools/editor/create_dialog.cpp +msgid "Create New" +msgstr "" + +#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp +#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp +msgid "Matches:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies For:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Scene '%s' is currently being edited.\n" +"Changes will not take effect unless reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"Resource '%s' is in use.\n" +"Changes will take effect when reloaded." +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resource" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp +#: tools/editor/project_settings.cpp +msgid "Path" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Broken" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Dependency Editor" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Search Replacement Resource:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owners Of:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "" +"The files being removed are required by other resources in order for them to " +"work.\n" +"Remove them anyway? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Remove selected files from the project? (no undo)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Error loading:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Scene failed to load due to missing dependencies:" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Open Anyway" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Which action should be taken?" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Fix Dependencies" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Errors loading!" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Permanently delete %d item(s)? (No undo!)" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Owns" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Resources Without Explicit Ownership:" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +msgid "Orphan Resource Explorer" +msgstr "" + +#: tools/editor/dependency_editor.cpp +msgid "Delete selected files?" +msgstr "" + +#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp +#: tools/editor/plugins/item_list_editor_plugin.cpp +#: tools/editor/scenes_dock.cpp +msgid "Delete" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating Scene" +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Storing local changes.." +msgstr "" + +#: tools/editor/editor_data.cpp +msgid "Updating scene.." +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose a Directory" +msgstr "" + +#: tools/editor/editor_dir_dialog.cpp +msgid "Choose" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp +msgid "Favorites:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Recent:" +msgstr "" + +#: tools/editor/editor_file_dialog.cpp +msgid "Preview:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "Cannot go into subdir:" +msgstr "" + +#: tools/editor/editor_file_system.cpp +msgid "ScanSources" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Classes" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Class List:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp +msgid "Class:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Inherits:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Inherited by:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Brief Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Public Methods:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Members:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "GUI Theme Items:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Signals:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Constants:" +msgstr "" + +#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp +msgid "Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Method Description:" +msgstr "" + +#: tools/editor/editor_help.cpp +msgid "Search Text" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Added:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Removed:" +msgstr "" + +#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp +msgid "Error saving atlas:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Could not save atlas subtexture:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Storing File:" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Packing" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Exporting for %s" +msgstr "" + +#: tools/editor/editor_import_export.cpp +msgid "Setting Up.." +msgstr "" + +#: tools/editor/editor_log.cpp +msgid " Output:" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +msgid "Re-Importing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Importing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Node From Scene" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp +msgid "Re-Import.." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Error saving resource!" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/resources_dock.cpp +msgid "Save Resource As.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "I see.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open file for writing:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Requested file format unknown:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error while saving." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Saving Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Analyzing" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Creating Thumbnail" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Failed to load resource." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load MeshLibrary for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving MeshLibrary!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't load TileSet for merging!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error saving TileSet!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't open export templates zip." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Loading Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error trying to save layout!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Default editor layout overridden." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Layout name not found!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Restored default layout to base settings." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Params" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Paste Params" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Paste Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Copy Resource" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Built-In" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Make Sub-Resources Unique" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open in Help" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "There is no defined scene to run." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"No main scene has ever been defined.\n" +"Select one from \"Project Settings\" under the 'application' category." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene was never saved, please save it prior to running." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Could not start subprocess!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Base Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Open Script.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Yes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close scene? (Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This scene has never been saved. Save before running?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Please save the scene first." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Translatable Strings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Mesh Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Tile Set" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Exit the editor?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Current scene not saved. Open anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Can't reload a scene that was never saved." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "This action cannot be undone. Revert anyway?" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Run Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Open Project Manager? \n" +"(Unsaved changes will be lost)" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp +msgid "Ugh" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Error loading scene, it must be inside the project path. Use 'Import' to " +"open the scene, then save it inside the project path." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Error loading scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Scene '%s' has broken dependencies:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Layout" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Default" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Delete Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Switch Scene Tab" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "%d more file(s) or folder(s)" +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to previously opened scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Fullscreen Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Distraction Free Mode" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Operations with scene files." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "New Inherited Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Scene.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Close Goto Prev. Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open Recent" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quick Filter Files.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Convert To.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Translatable Strings.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "MeshLibrary.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "TileSet.." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Redo" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Run Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Project Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Revert Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Quit to Project List" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import assets to the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Import" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Miscellaneous project or scene-wide tools." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Tools" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export the project to many platforms." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the project." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Play" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause the scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Pause Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Stop the scene." +msgstr "" + +#: tools/editor/editor_node.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stop" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play the edited scene." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play Scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Play custom scene" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Debug options" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Deploy with Remote Debug" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When exporting or deploying, the resulting executable will attempt to " +"connect to the IP of this computer in order to be debugged." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Small Deploy with Network FS" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is enabled, export or deploy will produce a minimal " +"executable.\n" +"The filesystem will be provided from the project by the editor over the " +"network.\n" +"On Android, deploy will use the USB cable for faster performance. This " +"option speeds up testing for games with a large footprint." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Collision Shapes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the " +"running game if this option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Visible Navigation" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"Navigation meshes and polygons will be visible on the running game if this " +"option is turned on." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Scene Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any changes made to the scene in the editor " +"will be replicated in the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Sync Script Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "" +"When this option is turned on, any script that is saved will be reloaded on " +"the running game.\n" +"When used remotely on a device, this is more efficient with network " +"filesystem." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Settings" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp +msgid "Editor Settings" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Editor Layout" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Install Export Templates" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "About" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Alerts when an external resource has changed." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Spins when the editor window repaints!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Always" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Update Changes" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Inspector" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Create a new resource in memory and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load an existing resource from disk and edit it." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Save the currently edited resource." +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp +msgid "Save As.." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the previous edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Go to the next edited object in history." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "History of recently edited objects." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Object properties." +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "FileSystem" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Output" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp +#: tools/editor/import_settings.cpp +msgid "Re-Import" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp +msgid "Update" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks from the Godot community!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Thanks!" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Import Templates From ZIP File" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Export Project" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Export Library" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Merge With Existing" +msgstr "" + +#: tools/editor/editor_node.cpp tools/editor/project_export.cpp +msgid "Password:" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Open & Run a Script" +msgstr "" + +#: tools/editor/editor_node.cpp +msgid "Load Errors" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Installed Plugins:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Version:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Author:" +msgstr "" + +#: tools/editor/editor_plugin_settings.cpp +msgid "Status:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Stop Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Start Profiling" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Measure:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Average Time (sec)" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Fixed Frame %" +msgstr "" + +#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp +msgid "Time:" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Inclusive" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Self" +msgstr "" + +#: tools/editor/editor_profiler.cpp +msgid "Frame #:" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Please wait for scan to complete." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Current scene must be saved to re-import." +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Save & Re-Import" +msgstr "" + +#: tools/editor/editor_reimport_dialog.cpp +msgid "Re-Import Changed Resources" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Write your logic in the _run() method." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "There is an edited scene already." +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't instance script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the 'tool' keyword?" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Couldn't run script:" +msgstr "" + +#: tools/editor/editor_run_script.cpp +msgid "Did you forget the '_run' method?" +msgstr "" + +#: tools/editor/editor_settings.cpp +msgid "Default (Same as Editor)" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Select Node(s) to Import" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Scene Path:" +msgstr "" + +#: tools/editor/editor_sub_scene.cpp +msgid "Import From Node:" +msgstr "" + +#: tools/editor/file_type_cache.cpp +msgid "Can't open file_type_cache.cch for writing, not saving file type cache!" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Add to Group" +msgstr "" + +#: tools/editor/groups_editor.cpp +msgid "Remove from Group" +msgstr "" + +#: tools/editor/import_settings.cpp +msgid "Imported Resources" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "No bit masks to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must be a complete resource path." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Target path must exist." +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Save path is empty!" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Import BitMasks" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Target Path:" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Accept" +msgstr "" + +#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp +msgid "Bit Mask" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No source font file!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "No target font resource!" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Can't load/process source font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Couldn't save font." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Source Font Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Dest Resource:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "The quick brown fox jumps over the lazy dog." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Test:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Options:" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Font Import" +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "" +"This file is already a Godot font file, please supply a BMFont type file " +"instead." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Failed opening as BMFont file." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +msgid "Invalid font custom source." +msgstr "" + +#: tools/editor/io_plugins/editor_font_import_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Font" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "No meshes to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Single Mesh Import" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Source Mesh(es):" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh" +msgstr "" + +#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp +msgid "Surface %d" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "No samples to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Import Audio Samples" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Source Sample(s):" +msgstr "" + +#: tools/editor/io_plugins/editor_sample_import_plugin.cpp +msgid "Audio Sample" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "New Clip" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Animation Options" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Flags" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Bake FPS:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Optimizer" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Linear Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angular Error" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Max Angle" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Clips" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp +msgid "Name" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Start(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "End(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Loop" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Filters" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source path is empty." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error importing scene." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import 3D Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Source Scene:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Same as Target Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Shared" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Target Texture Folder:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Post-Process Script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Custom Root Node Type:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Auto" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "The Following Files are Missing:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Anyway" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import & Open" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Edited scene has not been saved, open imported scene anyway?" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import Scene" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Importing Scene.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Running Custom Script.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't load post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Invalid/broken script for post-import:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Error running post-import script:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Import Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Can't import a file over itself:" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Couldn't localize path: %s (already local)" +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "Saving.." +msgstr "" + +#: tools/editor/io_plugins/editor_scene_import_plugin.cpp +msgid "3D Scene Animation" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Uncompressed" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossless (PNG)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress Lossy (WebP)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Compress (VRAM)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Format" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Compression Quality (WebP):" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture Options" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Please specify some files!" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "At least one file needed for Atlas." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Error importing:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Only one file is required for large texture." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Max Texture Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for Atlas (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cell Size:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Textures (2D)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Base Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Source Texture(s)" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 2D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures for 3D" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Textures" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "2D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "3D Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Atlas Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "" +"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to " +"the project." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Crop empty space." +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Import Large Texture" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Load Source Image" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Slicing" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Inserting" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Saving" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save large texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Build Atlas For:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Loading Image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't load image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Converting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Cropping Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Blitting Images" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save atlas image:" +msgstr "" + +#: tools/editor/io_plugins/editor_texture_import_plugin.cpp +msgid "Couldn't save converted texture:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Invalid translation source!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Column" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +#: tools/editor/script_create_dialog.cpp +msgid "Language" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No items to import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "No target path!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translations" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Couldn't import!" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Translation" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Source CSV:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Ignore First Row" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Compress" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Add to Project (engine.cfg)" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Import Languages:" +msgstr "" + +#: tools/editor/io_plugins/editor_translation_import_plugin.cpp +msgid "Translation" +msgstr "" + +#: tools/editor/multi_node_edit.cpp +msgid "MultiNode Set" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Node" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Groups" +msgstr "" + +#: tools/editor/node_dock.cpp +msgid "Select a Node to edit Signals and Groups." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Toggle Autoplay" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "New Anim" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Remove Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Invalid animation name!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: Animation name already exists!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Rename Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Next Changed" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Change Blend Time" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Duplicate Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to copy!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation resource on clipboard!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Pasted Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Paste Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "ERROR: No animation to edit!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from current pos. (A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation backwards from end. (Shift+A)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Stop animation playback. (S)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from start. (Shift+D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Play selected animation from current pos. (D)" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation position (in seconds)." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Scale animation playback globally for the node." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create new animation in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Load an animation from disk." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save the current animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Save As" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Display list of animations in player." +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Autoplay on Load" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Edit Target Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Tools" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Copy Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Create New Animation" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Animation Name:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp +msgid "Error!" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Blend Times:" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Next (Auto Queue):" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +msgid "Cross-Animation Blend Times" +msgstr "" + +#: tools/editor/plugins/animation_player_editor_plugin.cpp +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Animation" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "New name:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Scale:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade In (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Fade Out (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Auto Restart:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Random Restart (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Start!" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Amount:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 0:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend 1:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "X-Fade Time (s):" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Current:" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Add Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Clear Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Set Auto-Advance" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Delete Input" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Rename" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is valid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation tree is invalid." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Animation Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "OneShot Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Mix Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend2 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend3 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Blend4 Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeScale Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "TimeSeek Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Transition Node" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Import Animations.." +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Edit Node Filters" +msgstr "" + +#: tools/editor/plugins/animation_tree_editor_plugin.cpp +msgid "Filters.." +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing %d Triangles:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Light Baker Setup:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Parsing Geometry" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Fixing Lights" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Making BVH" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Light Octree" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Creating Octree Texture" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Transfer to Lightmaps:" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Allocating Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Baking Triangle #" +msgstr "" + +#: tools/editor/plugins/baked_light_baker.cpp +msgid "Post-Processing Texture #" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "BakedLightInstance does not contain a BakedLight resource." +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Bake!" +msgstr "" + +#: tools/editor/plugins/baked_light_editor_plugin.cpp +msgid "Reset the lightmap octree baking process (start over)." +msgstr "" + +#: tools/editor/plugins/camera_editor_plugin.cpp +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Preview" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Configure Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Offset:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Rotation Step:" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Pivot" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Move Action" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Edit CanvasItem" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Change Anchors" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom (%):" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Paste Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Select Mode (Q)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Drag: Rotate" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+Drag: Move" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Alt+RMB: Depth list selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Move Mode (W)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Mode (E)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "" +"Show a list of all objects at the position clicked\n" +"(same as Alt+RMB in select mode)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Click to change object's rotation pivot." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Pan Mode" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Lock the selected object in place (can't be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Unlock the selected object (can be moved)." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Makes sure the object's children are not selectable." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Restores the object's children's ability to be selected." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +#: tools/editor/project_manager.cpp +msgid "Edit" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Show Grid" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Rotation Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap Relative" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Configure Snap.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Use Pixel Snap" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Expand to Parent" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Skeleton.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Bones" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Make IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear IK Chain" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom In" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Out" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Reset" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Zoom Set.." +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Center Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Frame Selection" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Anchor" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Keys (Ins)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Insert Key (Existing Tracks)" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Copy Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Clear Pose" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Set a Value" +msgstr "" + +#: tools/editor/plugins/canvas_item_editor_plugin.cpp +msgid "Snap (Pixels):" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Edit Poly (Remove Point)" +msgstr "" + +#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create a new polygon from scratch." +msgstr "" + +#: tools/editor/plugins/collision_polygon_editor_plugin.cpp +msgid "Create Poly3D" +msgstr "" + +#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp +msgid "Set Handle" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +msgid "Add/Remove Color Ramp Point" +msgstr "" + +#: tools/editor/plugins/color_ramp_editor_plugin.cpp +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Color Ramp" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Creating Mesh Library" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Thumbnail.." +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove item %d?" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Add Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Remove Selected Item" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Import from Scene" +msgstr "" + +#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp +msgid "Update from Scene" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item %d" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Items" +msgstr "" + +#: tools/editor/plugins/item_list_editor_plugin.cpp +msgid "Item List Editor" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +msgid "Create Occluder Polygon" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Edit existing polygon:" +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "LMB: Move Point." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Ctrl+LMB: Split Segment." +msgstr "" + +#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "RMB: Erase Point." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Mesh is empty!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Trimesh Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Static Convex Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "This doesn't work on scene root!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Shape" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Navigation Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "MeshInstance lacks a Mesh!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Could not create outline!" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Static Body" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Trimesh Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Convex Collision Sibling" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh.." +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Create Outline Mesh" +msgstr "" + +#: tools/editor/plugins/mesh_instance_editor_plugin.cpp +msgid "Outline Size:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (not a MeshInstance)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "No surface source specified." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (invalid path)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no geometry)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Surface source is invalid (no faces)." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Parent has no solid faces to populate." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Couldn't map area." +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Select a Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate Surface" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate MultiMesh" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Target Surface:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Source Mesh:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "X-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Y-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Z-Axis" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Mesh Up Axis:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Rotation:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Tilt:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Random Scale:" +msgstr "" + +#: tools/editor/plugins/multimesh_editor_plugin.cpp +msgid "Populate" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Create Navigation Polygon" +msgstr "" + +#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp +msgid "Remove Poly And Point" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Error loading image:" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "No pixels with transparency > 128 in image.." +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Set Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Clear Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Load Emission Mask" +msgstr "" + +#: tools/editor/plugins/particles_2d_editor_plugin.cpp +msgid "Generated Point Count:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Node does not contain geometry (faces)." +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Faces contain no area!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "No faces!" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Generate AABB" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Mesh" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter From Node" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Clear Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Create Emitter" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Positions:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Emission Fill:" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Surface" +msgstr "" + +#: tools/editor/plugins/particles_editor_plugin.cpp +msgid "Volume" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Remove Point from Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point to Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Point in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move In-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Move Out-Control in Curve" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Select Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Shift+Drag: Select Control Points" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Click: Add Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Right Click: Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +msgid "Select Control Points (Shift+Drag)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Add Point (in empty space)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Segment (in curve)" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Delete Point" +msgstr "" + +#: tools/editor/plugins/path_2d_editor_plugin.cpp +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Close Curve" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Curve Point #" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Point Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve In Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Set Curve Out Pos" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Split Path" +msgstr "" + +#: tools/editor/plugins/path_editor_plugin.cpp +msgid "Remove Path Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Create UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Transform UV Map" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon 2D UV Editor" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Point" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Ctrl: Rotate" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift: Move All" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Shift+Ctrl: Scale" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Move Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Rotate Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Scale Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Polygon->UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "UV->Polygon" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +msgid "Clear UV" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Enable Snap" +msgstr "" + +#: tools/editor/plugins/polygon_2d_editor_plugin.cpp +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Grid" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "ERROR: Couldn't load resource!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Add Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Rename Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Delete Resource" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +msgid "Resource clipboard is empty!" +msgstr "" + +#: tools/editor/plugins/resource_preloader_editor_plugin.cpp +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Load Resource" +msgstr "" + +#: tools/editor/plugins/rich_text_editor_plugin.cpp +msgid "Parse BBCode" +msgstr "" + +#: tools/editor/plugins/sample_editor_plugin.cpp +msgid "Length:" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Open Sample File(s)" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "ERROR: Couldn't load sample!" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Add Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Rename Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Delete Sample" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "16 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "8 Bits" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Stereo" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Mono" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Format" +msgstr "" + +#: tools/editor/plugins/sample_library_editor_plugin.cpp +msgid "Pitch" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error while saving theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error saving" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Error importing" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Import Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/project_export.cpp +msgid "File" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/property_editor.cpp +msgid "New" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save All" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Prev" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "History Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Save Theme As" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Up" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Move Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Indent Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Comment" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Clone Down" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Complete Symbol" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Trim Trailing Whitespace" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Auto Indent" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Soft Reload Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Next" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Find Previous" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Replace.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Function.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Goto Line.." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Debug" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Toggle Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Remove All Breakpoints" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Next Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Goto Previous Breakpoint" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Over" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Step Into" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Break" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Continue" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Keep Debugger Open" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Window" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Left" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Move Right" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Contextual Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Tutorials" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Open https://godotengine.org at tutorials section." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Classes" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the class hierarchy." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search Help" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Search the reference documentation." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to previous edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Go to next edited document." +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Create Script" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "" +"The following files are newer on disk.\n" +"What action should be taken?:" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Reload" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +msgid "Resave" +msgstr "" + +#: tools/editor/plugins/script_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Debugger" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Vertex" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Fragment" +msgstr "" + +#: tools/editor/plugins/shader_editor_plugin.cpp +msgid "Lighting" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Constant" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Scalar Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Operator" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Toggle Rot Only" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Function" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Scalar Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Vec Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change RGB Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Default Value" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change XForm Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Texture Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Cubemap Uniform" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Comment" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Color Ramp" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add/Remove to Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Modify Curve Map" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Change Input Name" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Connect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Disconnect Graph Nodes" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Remove Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Move Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Duplicate Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Delete Shader Graph Node(s)" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Cyclic Connection Link" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Error: Missing Input Connections" +msgstr "" + +#: tools/editor/plugins/shader_graph_editor_plugin.cpp +msgid "Add Shader Graph Node" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Aborted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "X-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Y-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Z-Axis Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Plane Transform." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scaling to %s%%." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotating %s degrees." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right View." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Keying is disabled (no key inserted)." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Animation Key Inserted." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Top (Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Bottom (Shift+Num7)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Left (Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Right (Shift+Num3)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Front (Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rear (Shift+Num1)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Orthogonal (Num5)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Environment" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Audio Listener" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Gizmos" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Selection (F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Align with view (Ctrl+Shift+F)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "XForm Dialog" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "No scene selected to instance!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Instance at Cursor" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Could not instance scene!" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Mode (R)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Local Coords" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Dialog.." +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default Light" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Use Default sRGB" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "1 Viewport" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "2 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "3 Viewports (Alt)" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "4 Viewports" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Normal" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Wireframe" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Overdraw" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Display Shadeless" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Origin" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Grid" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Snap Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate Snap:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate Snap (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale Snap (%):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Viewport Settings" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Default Light Normal:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Ambient Light Color:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Perspective FOV (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Near:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "View Z-Far:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Change" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Translate:" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Rotate (deg.):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Scale (ratio):" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Transform Type" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Pre" +msgstr "" + +#: tools/editor/plugins/spatial_editor_plugin.cpp +msgid "Post" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "ERROR: Couldn't load frame resource!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Resource clipboard is empty or not a texture!" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Paste Frame" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Add Empty" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation Loop" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Change Animation FPS" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "(empty)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animations" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Speed (FPS):" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Animation Frames" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (Before)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Insert Empty (After)" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Up" +msgstr "" + +#: tools/editor/plugins/sprite_frames_editor_plugin.cpp +msgid "Down" +msgstr "" + +#: tools/editor/plugins/style_box_editor_plugin.cpp +msgid "StyleBox Preview:" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Texture Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "Scale Region Editor" +msgstr "" + +#: tools/editor/plugins/texture_region_editor_plugin.cpp +msgid "" +"No texture in this node.\n" +"Set a texture to be able to edit region." +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Can't save theme to file:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add All" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Remove Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Add Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Remove Class Items" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Create Empty Editor Template" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "CheckBox Radio2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Check Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Checked Item" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Has" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Many" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp +msgid "Options" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Have,Many,Several,Options!" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 1" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 2" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Tab 3" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Data Type:" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Icon" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Style" +msgstr "" + +#: tools/editor/plugins/theme_editor_plugin.cpp +msgid "Color" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Paint TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase TileMap" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Erase selection" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Find tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Transpose" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror X" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Mirror Y" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Bucket" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Pick Tile" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Select" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 0 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 90 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 180 degrees" +msgstr "" + +#: tools/editor/plugins/tile_map_editor_plugin.cpp +msgid "Rotate 270 degrees" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Could not find tile:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Item name or ID:" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from scene?" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Create from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +msgid "Merge from Scene" +msgstr "" + +#: tools/editor/plugins/tile_set_editor_plugin.cpp +#: tools/editor/script_editor_debugger.cpp +msgid "Error" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Edit Script Options" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Please export outside the project folder!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error exporting project!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Error writing the project PCK!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "No exporter for platform '%s' yet." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Include" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Change Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name can't be empty!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Invalid character in group name!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group name already exists!" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Add Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Delete Image Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas Preview" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export Settings" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Target" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export to Platform" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export selected resources (including dependencies)." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all resources in the project." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export all files in the project directory." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Resources to Export:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Action" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "" +"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert text scenes to binary on export." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep Original" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy, WebP)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for RAM (BC/PVRTC/ETC)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Convert Images (*.png):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress for Disk (Lossy) Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink All Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Formats:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Groups" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Groups:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Disk" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress RAM" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Lossy Quality:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Atlas:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Shrink By:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Preview Atlas" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Image Filter:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Images:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Select None" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Group" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Samples" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sample Conversion Mode: (.wav files):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Keep" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compress (RAM - IMA-ADPCM)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Sampling Rate Limit (Hz):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trim" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Trailing Silence:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Export Mode:" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Text" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Compiled" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Encrypted (Provide Key Below)" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Script Encryption Key (256-bits as hex):" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export PCK/Zip" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Project PCK" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export.." +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Project Export" +msgstr "" + +#: tools/editor/project_export.cpp +msgid "Export Preset:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, the path must exist!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must not exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path, engine.cfg must exist." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Imported Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Invalid project path (changed anything?)." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Couldn't create engine.cfg in project path." +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Import Existing Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path (Must Exist):" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Name:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Create New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Path:" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Browse" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Game Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "That's a BINGO!" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Unnamed Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to open more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Are you sure to run more than one projects?" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Remove project from the list? (Folder contents will not be modified)" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project Manager" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Project List" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Run" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Scan" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "New Project" +msgstr "" + +#: tools/editor/project_manager.cpp +msgid "Exit" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Key " +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joy Axis" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid action (anything goes but '/' or ':')." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Control+" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "Press a Key.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Mouse Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Left Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Right Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Middle Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Up Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Wheel Down Button" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 6" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 7" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 8" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Button 9" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Axis Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Joystick Button Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Input Action" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Erase Input Action Event" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle Persisting" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Error saving settings." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Settings saved OK." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Valid characters:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing engine class name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing buit-in type name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Invalid name. Must not collide with an existing global constant name." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Autoload '%s' already exists!" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Rename Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Toggle AutoLoad Globals" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Move Autoload" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Translation" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add Remapped Path" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resource Remap Add Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Change Resource Remap Language" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remove Resource Remap Option" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Enable" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Project Settings (engine.cfg)" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp +msgid "General" +msgstr "" + +#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp +msgid "Property:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Del" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Copy To Platform.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Input Map" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Action:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Device:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Index:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Localization" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Translations:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Add.." +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Resources:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Remaps by Locale:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Locale" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "AutoLoad" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Node Name:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "List:" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Singleton" +msgstr "" + +#: tools/editor/project_settings.cpp +msgid "Plugins" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Preset.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Ease Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Zero" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing In-Out" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Easing Out-In" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "File.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Dir.." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Load" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Assign" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Error loading file: Not a resource!" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Couldn't load image" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Bit %d, val %d." +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "On" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Set" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Properties:" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Global" +msgstr "" + +#: tools/editor/property_editor.cpp +msgid "Sections:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Could not execute PVRTC tool:" +msgstr "" + +#: tools/editor/pvrtc_compress.cpp +msgid "Can't load back converted image using PVRTC tool:" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent Node" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Reparent Location (Select new Parent):" +msgstr "" + +#: tools/editor/reparent_dialog.cpp +msgid "Keep Global Transform" +msgstr "" + +#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp +msgid "Reparent" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Create New Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Open Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Save Resource" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Resource Tools" +msgstr "" + +#: tools/editor/resources_dock.cpp +msgid "Make Local" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Run Mode:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Current Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Main Scene Arguments:" +msgstr "" + +#: tools/editor/run_settings_dialog.cpp +msgid "Scene Run Settings" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "OK :(" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "No parent to instance a child at." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error loading scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error instancing scene from %s" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Ok" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Cannot instance the scene '%s' because the current scene exists within one " +"of its nodes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Scene(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on the tree root." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Node In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Move Nodes In Parent" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Duplicate Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)?" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done without a scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation requires a single selected node." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "This operation can't be done on instanced scenes." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save New Scene As.." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Makes Sense!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes from a foreign scene!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Can't operate on nodes the current scene inherits from!" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Remove Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Create Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Couldn't save new scene. Likely dependencies (instances) couldn't be " +"satisfied." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error saving scene." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Error duplicating scene to save it." +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "New Scene Root" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Inherit Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Child Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Instance Child Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Change Type" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Groups" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Edit Connections" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add Script" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Merge From Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Save Branch as Scene" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Delete Node(s)" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "Add/Create a New Node" +msgstr "" + +#: tools/editor/scene_tree_dock.cpp +msgid "" +"Instance a scene file as a Node. Creates an inherited scene if no root node " +"exists." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "" +"This item cannot be made visible because the parent is hidden. Unhide the " +"parent first." +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle Spatial Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Toggle CanvasItem Visible" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Instance:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Invalid node name, the following characters are not allowed:" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Rename Node" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Scene Tree (Nodes):" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Editable Children" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Load As Placeholder" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Discard Instancing" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Open in Editor" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear Inheritance? (No Undo!)" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Clear!" +msgstr "" + +#: tools/editor/scene_tree_editor.cpp +msgid "Select a Node" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination files, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Same source and destination paths, doing nothing." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't move directories to within themselves." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Can't operate on '..'" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Pick New Name and Location For:" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "No files selected!" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Edit Dependencies.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "View Owners.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Copy Path" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Rename or Move.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move To.." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Info" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Show In File Manager" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Previous Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Next Directory" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Re-Scan Filesystem" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Toggle folder status as Favorite" +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Instance the selected scene(s) as child of the selected node." +msgstr "" + +#: tools/editor/scenes_dock.cpp +msgid "Move" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid parent class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid chars:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid class name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid name" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "N/A" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Parent class name is invalid!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid path!" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Could not create script in filesystem." +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is empty" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Path is not local" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid base path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "File exists" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Invalid extension" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Valid path" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Class Name:" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Built-In Script" +msgstr "" + +#: tools/editor/script_create_dialog.cpp +msgid "Create Node Script" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Bytes:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Warning" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Error:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Source:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Function:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Child Process Connected" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Previous Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Inspect Next Instance" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Frames" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Variable" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Errors:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Stack Trace (if applicable):" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Inspector" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Scene Tree:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Remote Object Properties: " +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Profiler" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitor" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Value" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Monitors" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "List of Video Memory Usage by Resource:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Total:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Video Mem" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Resource Path" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Type" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Usage" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Misc" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Clicked Control Type:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Live Edit Root:" +msgstr "" + +#: tools/editor/script_editor_debugger.cpp +msgid "Set From Tree" +msgstr "" + +#: tools/editor/settings_config_dialog.cpp +msgid "Shortcuts" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Light Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera FOV" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Camera Size" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Sphere Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Box Shape Extents" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Radius" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Capsule Shape Height" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Ray Shape Length" +msgstr "" + +#: tools/editor/spatial_editor_gizmos.cpp +msgid "Change Notifier Extents" +msgstr "" |