Merge branch 'master' into mimeicons-svg

This commit is contained in:
Robin Appelman 2014-02-20 16:55:18 +01:00
commit 0624476aa1
231 changed files with 2134 additions and 3412 deletions

View File

@ -9,8 +9,21 @@ OCP\JSON::callCheck();
// Get data // Get data
$dir = stripslashes($_POST["dir"]); $dir = stripslashes($_POST["dir"]);
$files = isset($_POST["file"]) ? $_POST["file"] : $_POST["files"]; $files = isset($_POST["file"]) ? $_POST["file"] : $_POST["files"];
$allFiles = isset($_POST["allfiles"]) ? $_POST["allfiles"] : $_POST["allfiles"];
if ($allFiles === 'true') {
$allFiles = true;
}
$files = json_decode($files); // delete all files in dir ?
if ($allFiles) {
$files = array();
$fileList = \OC\Files\Filesystem::getDirectoryContent($dir);
foreach ($fileList as $fileInfo) {
$files[] = $fileInfo['name'];
}
} else {
$files = json_decode($files);
}
$filesWithError = ''; $filesWithError = '';
$success = true; $success = true;

View File

@ -50,16 +50,22 @@ $l10n = \OC_L10n::get('files');
$result = array( $result = array(
'success' => false, 'success' => false,
'data' => NULL 'data' => NULL
); );
$trimmedFileName = trim($filename);
if(trim($filename) === '') { if($trimmedFileName === '') {
$result['data'] = array('message' => (string)$l10n->t('File name cannot be empty.')); $result['data'] = array('message' => (string)$l10n->t('File name cannot be empty.'));
OCP\JSON::error($result); OCP\JSON::error($result);
exit(); exit();
} }
if($trimmedFileName === '.' || $trimmedFileName === '..') {
$result['data'] = array('message' => (string)$l10n->t('"%s" is an invalid file name.', $trimmedFileName));
OCP\JSON::error($result);
exit();
}
if(strpos($filename, '/') !== false) { if(!OCP\Util::isValidFileName($filename)) {
$result['data'] = array('message' => (string)$l10n->t('File name must not contain "/". Please choose a different name.')); $result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
OCP\JSON::error($result); OCP\JSON::error($result);
exit(); exit();
} }

View File

@ -23,8 +23,8 @@ if(trim($foldername) === '') {
exit(); exit();
} }
if(strpos($foldername, '/') !== false) { if(!OCP\Util::isValidFileName($foldername)) {
$result['data'] = array('message' => $l10n->t('Folder name must not contain "/". Please choose a different name.')); $result['data'] = array('message' => (string)$l10n->t("Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
OCP\JSON::error($result); OCP\JSON::error($result);
exit(); exit();
} }

View File

@ -582,30 +582,49 @@ window.FileList={
}}); }});
} }
}, },
do_delete:function(files) { do_delete:function(files, dir) {
if (files.substr) { var params;
if (files && files.substr) {
files=[files]; files=[files];
} }
if (files) {
for (var i=0; i<files.length; i++) { for (var i=0; i<files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete"); var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon'); deleteAction.removeClass('delete-icon').addClass('progress-icon');
} }
}
// Finish any existing actions // Finish any existing actions
if (FileList.lastAction) { if (FileList.lastAction) {
FileList.lastAction(); FileList.lastAction();
} }
var fileNames = JSON.stringify(files); var params = {
dir: dir || FileList.getCurrentDirectory()
};
if (files) {
params.files = JSON.stringify(files);
}
else {
// no files passed, delete all in current dir
params.allfiles = true;
}
$.post(OC.filePath('files', 'ajax', 'delete.php'), $.post(OC.filePath('files', 'ajax', 'delete.php'),
{dir:$('#dir').val(),files:fileNames}, params,
function(result) { function(result) {
if (result.status === 'success') { if (result.status === 'success') {
if (params.allfiles) {
// clear whole list
$('#fileList tr').remove();
}
else {
$.each(files,function(index,file) { $.each(files,function(index,file) {
var files = FileList.findFileEl(file); var files = FileList.findFileEl(file);
files.remove(); files.remove();
files.find('input[type="checkbox"]').removeAttr('checked'); files.find('input[type="checkbox"]').removeAttr('checked');
files.removeClass('selected'); files.removeClass('selected');
}); });
}
procesSelection(); procesSelection();
checkTrashStatus(); checkTrashStatus();
FileList.updateFileSummary(); FileList.updateFileSummary();
@ -622,11 +641,18 @@ window.FileList={
setTimeout(function() { setTimeout(function() {
OC.Notification.hide(); OC.Notification.hide();
}, 10000); }, 10000);
if (params.allfiles) {
// reload the page as we don't know what files were deleted
// and which ones remain
FileList.reload();
}
else {
$.each(files,function(index,file) { $.each(files,function(index,file) {
var deleteAction = FileList.findFileEl(file).find('.action.delete'); var deleteAction = FileList.findFileEl(file).find('.action.delete');
deleteAction.removeClass('progress-icon').addClass('delete-icon'); deleteAction.removeClass('progress-icon').addClass('delete-icon');
}); });
} }
}
}); });
}, },
createFileSummary: function() { createFileSummary: function() {
@ -794,6 +820,13 @@ window.FileList={
$(e).removeClass("searchresult"); $(e).removeClass("searchresult");
}); });
}, },
/**
* Returns whether all files are selected
* @return true if all files are selected, false otherwise
*/
isAllSelected: function() {
return $('#select_all').prop('checked');
},
/** /**
* Returns the download URL of the given file * Returns the download URL of the given file
@ -801,10 +834,13 @@ window.FileList={
* @param dir optional directory in which the file name is, defaults to the current directory * @param dir optional directory in which the file name is, defaults to the current directory
*/ */
getDownloadUrl: function(filename, dir) { getDownloadUrl: function(filename, dir) {
var files = filename;
if ($.isArray(filename)) {
files = JSON.stringify(filename);
}
var params = { var params = {
files: filename,
dir: dir || FileList.getCurrentDirectory(), dir: dir || FileList.getCurrentDirectory(),
download: null files: files
}; };
return OC.filePath('files', 'ajax', 'download.php') + '?' + OC.buildQueryString(params); return OC.filePath('files', 'ajax', 'download.php') + '?' + OC.buildQueryString(params);
} }

View File

@ -364,23 +364,26 @@ $(document).ready(function() {
}); });
$('.download').click('click',function(event) { $('.download').click('click',function(event) {
var files=getSelectedFilesTrash('name'); var files;
var fileslist = JSON.stringify(files); var dir = FileList.getCurrentDirectory();
var dir=$('#dir').val()||'/'; if (FileList.isAllSelected()) {
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.')); files = OC.basename(dir);
// use special download URL if provided, e.g. for public shared files dir = OC.dirname(dir) || '/';
var downloadURL = document.getElementById("downloadURL");
if ( downloadURL ) {
window.location = downloadURL.value+"&download&files=" + encodeURIComponent(fileslist);
} else {
window.location = OC.filePath('files', 'ajax', 'download.php') + '?'+ $.param({ dir: dir, files: fileslist });
} }
else {
files = getSelectedFilesTrash('name');
}
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
OC.redirect(FileList.getDownloadUrl(files, dir));
return false; return false;
}); });
$('.delete-selected').click(function(event) { $('.delete-selected').click(function(event) {
var files=getSelectedFilesTrash('name'); var files=getSelectedFilesTrash('name');
event.preventDefault(); event.preventDefault();
if (FileList.isAllSelected()) {
files = null;
}
FileList.do_delete(files); FileList.do_delete(files);
return false; return false;
}); });

View File

@ -69,7 +69,7 @@ describe('FileActions tests', function() {
$tr.find('.action[data-action=Download]').click(); $tr.find('.action[data-action=Download]').click();
expect(redirectStub.calledOnce).toEqual(true); expect(redirectStub.calledOnce).toEqual(true);
expect(redirectStub.getCall(0).args[0]).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=test%20download%20File.txt&dir=%2Fsubdir&download'); expect(redirectStub.getCall(0).args[0]).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=test%20download%20File.txt');
redirectStub.restore(); redirectStub.restore();
}); });
}); });

View File

@ -58,8 +58,15 @@ describe('FileList tests', function() {
expect($tr.attr('data-permissions')).toEqual('31'); expect($tr.attr('data-permissions')).toEqual('31');
//expect($tr.attr('data-mime')).toEqual('httpd/unix-directory'); //expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
}); });
it('returns correct download URL', function() { describe('Download Url', function() {
expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=some%20file.txt&dir=%2Fsubdir&download'); it('returns correct download URL for single files', function() {
expect(FileList.getDownloadUrl('some file.txt', '/anotherpath/abc')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?files=some%20file.txt&dir=%2Fanotherpath%2Fabc&download'); expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=some%20file.txt');
expect(FileList.getDownloadUrl('some file.txt', '/anotherpath/abc')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fanotherpath%2Fabc&files=some%20file.txt');
$('#dir').val('/');
expect(FileList.getDownloadUrl('some file.txt')).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2F&files=some%20file.txt');
});
it('returns correct download URL for multiple files', function() {
expect(FileList.getDownloadUrl(['a b c.txt', 'd e f.txt'])).toEqual(OC.webroot + '/index.php/apps/files/ajax/download.php?dir=%2Fsubdir&files=%5B%22a%20b%20c.txt%22%2C%22d%20e%20f.txt%22%5D');
});
}); });
}); });

View File

@ -4,7 +4,7 @@ OCP\JSON::checkAppEnabled('files_external');
OCP\JSON::callCheck(); OCP\JSON::callCheck();
if ( ! ($filename = $_FILES['rootcert_import']['name']) ) { if ( ! ($filename = $_FILES['rootcert_import']['name']) ) {
header("Location: settings/personal.php"); header('Location:' . OCP\Util::linkToRoute( "settings_personal" ));
exit; exit;
} }

View File

@ -352,9 +352,8 @@ class OC_Mount_Config {
$phpFile = OC_User::getHome(OCP\User::getUser()).'/mount.php'; $phpFile = OC_User::getHome(OCP\User::getUser()).'/mount.php';
$jsonFile = OC_User::getHome(OCP\User::getUser()).'/mount.json'; $jsonFile = OC_User::getHome(OCP\User::getUser()).'/mount.json';
} else { } else {
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data");
$phpFile = OC::$SERVERROOT.'/config/mount.php'; $phpFile = OC::$SERVERROOT.'/config/mount.php';
$jsonFile = $datadir . '/mount.json'; $jsonFile = \OC_Config::getValue("mount_file", \OC::$SERVERROOT . "/data/mount.json");
} }
if (is_file($jsonFile)) { if (is_file($jsonFile)) {
$mountPoints = json_decode(file_get_contents($jsonFile), true); $mountPoints = json_decode(file_get_contents($jsonFile), true);
@ -380,8 +379,7 @@ class OC_Mount_Config {
if ($isPersonal) { if ($isPersonal) {
$file = OC_User::getHome(OCP\User::getUser()).'/mount.json'; $file = OC_User::getHome(OCP\User::getUser()).'/mount.json';
} else { } else {
$datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data"); $file = \OC_Config::getValue("mount_file", \OC::$SERVERROOT . "/data/mount.json");
$file = $datadir . '/mount.json';
} }
$content = json_encode($data); $content = json_encode($data);
@file_put_contents($file, $content); @file_put_contents($file, $content);

View File

@ -99,7 +99,9 @@ class DAV extends \OC\Files\Storage\Common{
public function rmdir($path) { public function rmdir($path) {
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path) . '/';
// FIXME: some WebDAV impl return 403 when trying to DELETE
// a non-empty folder
return $this->simpleResponse('DELETE', $path, null, 204); return $this->simpleResponse('DELETE', $path, null, 204);
} }
@ -107,7 +109,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->propfind($path, array(), 1); $response=$this->client->propfind($this->encodePath($path), array(), 1);
$id=md5('webdav'.$this->root.$path); $id=md5('webdav'.$this->root.$path);
$content = array(); $content = array();
$files=array_keys($response); $files=array_keys($response);
@ -127,8 +129,11 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->propfind($path, array('{DAV:}resourcetype')); $response=$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
$responseType = array();
if (isset($response["{DAV:}resourcetype"])) {
$responseType=$response["{DAV:}resourcetype"]->resourceType; $responseType=$response["{DAV:}resourcetype"]->resourceType;
}
return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file'; return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
} catch(\Exception $e) { } catch(\Exception $e) {
error_log($e->getMessage()); error_log($e->getMessage());
@ -141,7 +146,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$this->client->propfind($path, array('{DAV:}resourcetype')); $this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype'));
return true;//no 404 exception return true;//no 404 exception
} catch(\Exception $e) { } catch(\Exception $e) {
return false; return false;
@ -166,7 +171,7 @@ class DAV extends \OC\Files\Storage\Common{
$curl = curl_init(); $curl = curl_init();
$fp = fopen('php://temp', 'r+'); $fp = fopen('php://temp', 'r+');
curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password); curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password);
curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().str_replace(' ', '%20', $path)); curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().$this->encodePath($path));
curl_setopt($curl, CURLOPT_FILE, $fp); curl_setopt($curl, CURLOPT_FILE, $fp);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
if ($this->secure === true) { if ($this->secure === true) {
@ -178,6 +183,10 @@ class DAV extends \OC\Files\Storage\Common{
} }
curl_exec ($curl); curl_exec ($curl);
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode !== 200) {
\OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR);
}
curl_close ($curl); curl_close ($curl);
rewind($fp); rewind($fp);
return $fp; return $fp;
@ -220,7 +229,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->propfind($path, array('{DAV:}quota-available-bytes')); $response=$this->client->propfind($this->encodePath($path), array('{DAV:}quota-available-bytes'));
if (isset($response['{DAV:}quota-available-bytes'])) { if (isset($response['{DAV:}quota-available-bytes'])) {
return (int)$response['{DAV:}quota-available-bytes']; return (int)$response['{DAV:}quota-available-bytes'];
} else { } else {
@ -240,7 +249,12 @@ class DAV extends \OC\Files\Storage\Common{
// if file exists, update the mtime, else create a new empty file // if file exists, update the mtime, else create a new empty file
if ($this->file_exists($path)) { if ($this->file_exists($path)) {
$this->client->proppatch($path, array('{DAV:}lastmodified' => $mtime)); try {
$this->client->proppatch($this->encodePath($path), array('{DAV:}lastmodified' => $mtime));
}
catch (\Sabre_DAV_Exception_NotImplemented $e) {
return false;
}
} else { } else {
$this->file_put_contents($path, ''); $this->file_put_contents($path, '');
} }
@ -276,13 +290,17 @@ class DAV extends \OC\Files\Storage\Common{
} }
} }
curl_exec ($curl); curl_exec ($curl);
$statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode !== 200) {
\OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR);
}
curl_close ($curl); curl_close ($curl);
} }
public function rename($path1, $path2) { public function rename($path1, $path2) {
$this->init(); $this->init();
$path1=$this->cleanPath($path1); $path1 = $this->encodePath($this->cleanPath($path1));
$path2=$this->createBaseUri().$this->cleanPath($path2); $path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
try { try {
$this->client->request('MOVE', $path1, null, array('Destination'=>$path2)); $this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
return true; return true;
@ -293,8 +311,8 @@ class DAV extends \OC\Files\Storage\Common{
public function copy($path1, $path2) { public function copy($path1, $path2) {
$this->init(); $this->init();
$path1=$this->cleanPath($path1); $path1 = $this->encodePath($this->cleanPath($path1));
$path2=$this->createBaseUri().$this->cleanPath($path2); $path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2));
try { try {
$this->client->request('COPY', $path1, null, array('Destination'=>$path2)); $this->client->request('COPY', $path1, null, array('Destination'=>$path2));
return true; return true;
@ -307,7 +325,7 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->propfind($path, array('{DAV:}getlastmodified', '{DAV:}getcontentlength')); $response = $this->client->propfind($this->encodePath($path), array('{DAV:}getlastmodified', '{DAV:}getcontentlength'));
return array( return array(
'mtime'=>strtotime($response['{DAV:}getlastmodified']), 'mtime'=>strtotime($response['{DAV:}getlastmodified']),
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0, 'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0,
@ -321,8 +339,11 @@ class DAV extends \OC\Files\Storage\Common{
$this->init(); $this->init();
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->propfind($path, array('{DAV:}getcontenttype', '{DAV:}resourcetype')); $response=$this->client->propfind($this->encodePath($path), array('{DAV:}getcontenttype', '{DAV:}resourcetype'));
$responseType = array();
if (isset($response["{DAV:}resourcetype"])) {
$responseType=$response["{DAV:}resourcetype"]->resourceType; $responseType=$response["{DAV:}resourcetype"]->resourceType;
}
$type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file'; $type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file';
if ($type=='dir') { if ($type=='dir') {
return 'httpd/unix-directory'; return 'httpd/unix-directory';
@ -345,6 +366,16 @@ class DAV extends \OC\Files\Storage\Common{
return substr($path, 1); return substr($path, 1);
} }
/**
* URL encodes the given path but keeps the slashes
* @param string $path to encode
* @return string encoded path
*/
private function encodePath($path) {
// slashes need to stay
return str_replace('%2F', '/', rawurlencode($path));
}
/** /**
* @param string $method * @param string $method
* @param string $path * @param string $path
@ -353,7 +384,7 @@ class DAV extends \OC\Files\Storage\Common{
private function simpleResponse($method, $path, $body, $expected) { private function simpleResponse($method, $path, $body, $expected) {
$path=$this->cleanPath($path); $path=$this->cleanPath($path);
try { try {
$response=$this->client->request($method, $path, $body); $response=$this->client->request($method, $this->encodePath($path), $body);
return $response['statusCode']==$expected; return $response['statusCode']==$expected;
} catch(\Exception $e) { } catch(\Exception $e) {
return false; return false;

View File

@ -21,7 +21,11 @@ return array(
'host'=>'localhost', 'host'=>'localhost',
'user'=>'test', 'user'=>'test',
'password'=>'test', 'password'=>'test',
'root'=>'/owncloud/files/webdav.php', 'root'=>'',
// wait delay in seconds after write operations
// (only in tests)
// set to higher value for lighttpd webdav
'wait'=> 0
), ),
'owncloud'=>array( 'owncloud'=>array(
'run'=>true, 'run'=>true,

View File

@ -18,6 +18,9 @@ class DAV extends Storage {
if ( ! is_array($this->config) or ! isset($this->config['webdav']) or ! $this->config['webdav']['run']) { if ( ! is_array($this->config) or ! isset($this->config['webdav']) or ! $this->config['webdav']['run']) {
$this->markTestSkipped('WebDAV backend not configured'); $this->markTestSkipped('WebDAV backend not configured');
} }
if (isset($this->config['webdav']['wait'])) {
$this->waitDelay = $this->config['webdav']['wait'];
}
$this->config['webdav']['root'] .= '/' . $id; //make sure we have an new empty folder to work in $this->config['webdav']['root'] .= '/' . $id; //make sure we have an new empty folder to work in
$this->instance = new \OC\Files\Storage\DAV($this->config['webdav']); $this->instance = new \OC\Files\Storage\DAV($this->config['webdav']);
$this->instance->mkdir('/'); $this->instance->mkdir('/');

View File

@ -1,3 +1,15 @@
/*
* Copyright (c) 2014
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
/* global OC, FileList, FileActions */
// Override download path to files_sharing/public.php // Override download path to files_sharing/public.php
function fileDownloadPath(dir, file) { function fileDownloadPath(dir, file) {
var url = $('#downloadURL').val(); var url = $('#downloadURL').val();
@ -28,12 +40,20 @@ $(document).ready(function() {
// override since the format is different // override since the format is different
FileList.getDownloadUrl = function(filename, dir) { FileList.getDownloadUrl = function(filename, dir) {
// we use this because we need the service and token attributes if ($.isArray(filename)) {
var tr = FileList.findFileEl(filename); filename = JSON.stringify(filename);
if (tr.length > 0) {
return $(tr).find('a.name').attr('href') + '&download';
} }
return null; var path = dir || FileList.getCurrentDirectory();
var params = {
service: 'files',
t: $('#sharingToken').val(),
path: path,
download: null
};
if (filename) {
params.files = filename;
}
return OC.filePath('', '', 'public.php') + '?' + OC.buildQueryString(params);
}; };
} }

View File

@ -2,42 +2,38 @@
OCP\JSON::checkLoggedIn(); OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck(); OCP\JSON::callCheck();
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
// "empty trash" command // "empty trash" command
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){ if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true'){
$deleteAll = true; $deleteAll = true;
$folder = isset($_POST['dir']) ? $_POST['dir'] : '/';
if ($folder === '/' || $folder === '') { if ($folder === '/' || $folder === '') {
OCA\Files_Trashbin\Trashbin::deleteAll(); OCA\Files_Trashbin\Trashbin::deleteAll();
$list = array(); $list = array();
} else { } else {
$dirname = dirname($folder);
if ( $dirname !== '/' && $dirname !== '.' ) {
$dirlisting = '1';
} else {
$dirlisting = '0';
}
$list[] = $folder; $list[] = $folder;
$folder = dirname($folder);
} }
} }
else { else {
$deleteAll = false; $deleteAll = false;
$files = $_POST['files']; $files = $_POST['files'];
$dirlisting = $_POST['dirlisting'];
$list = json_decode($files); $list = json_decode($files);
} }
$folder = rtrim($folder, '/') . '/';
$error = array(); $error = array();
$success = array(); $success = array();
$i = 0; $i = 0;
foreach ($list as $file) { foreach ($list as $file) {
if ( $dirlisting === '0') { if ($folder === '/') {
$file = ltrim($file, '/'); $file = ltrim($file, '/');
$delimiter = strrpos($file, '.d'); $delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter); $filename = substr($file, 0, $delimiter);
$timestamp = substr($file, $delimiter+2); $timestamp = substr($file, $delimiter+2);
} else { } else {
$filename = $file; $filename = $folder . '/' . $file;
$timestamp = null; $timestamp = null;
} }

View File

@ -4,15 +4,36 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck(); OCP\JSON::callCheck();
$files = $_POST['files']; $files = $_POST['files'];
$dirlisting = $_POST['dirlisting']; $dir = '/';
$list = json_decode($files); if (isset($_POST['dir'])) {
$dir = rtrim($_POST['dir'], '/'). '/';
}
$allFiles = false;
if (isset($_POST['allfiles']) and $_POST['allfiles'] === 'true') {
$allFiles = true;
$list = array();
$dirListing = true;
if ($dir === '' || $dir === '/') {
$dirListing = false;
}
foreach (OCA\Files_Trashbin\Helper::getTrashFiles($dir) as $file) {
$fileName = $file['name'];
if (!$dirListing) {
$fileName .= '.d' . $file['timestamp'];
}
$list[] = $fileName;
}
} else {
$list = json_decode($files);
}
$error = array(); $error = array();
$success = array(); $success = array();
$i = 0; $i = 0;
foreach ($list as $file) { foreach ($list as $file) {
if ( $dirlisting === '0') { $path = $dir . '/' . $file;
if ($dir === '/') {
$file = ltrim($file, '/'); $file = ltrim($file, '/');
$delimiter = strrpos($file, '.d'); $delimiter = strrpos($file, '.d');
$filename = substr($file, 0, $delimiter); $filename = substr($file, 0, $delimiter);
@ -23,9 +44,9 @@ foreach ($list as $file) {
$timestamp = null; $timestamp = null;
} }
if ( !OCA\Files_Trashbin\Trashbin::restore($file, $filename, $timestamp) ) { if ( !OCA\Files_Trashbin\Trashbin::restore($path, $filename, $timestamp) ) {
$error[] = $filename; $error[] = $filename;
OC_Log::write('trashbin','can\'t restore ' . $filename, OC_Log::ERROR); OC_Log::write('trashbin', 'can\'t restore ' . $filename, OC_Log::ERROR);
} else { } else {
$success[$i]['filename'] = $file; $success[$i]['filename'] = $file;
$success[$i]['timestamp'] = $timestamp; $success[$i]['timestamp'] = $timestamp;

View File

@ -1,5 +1,29 @@
/*
* Copyright (c) 2014
*
* This file is licensed under the Affero General Public License version 3
* or later.
*
* See the COPYING-README file.
*
*/
/* global OC, t, FileList, FileActions */
$(document).ready(function() { $(document).ready(function() {
function removeCallback(result) {
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
var files = result.data.success;
for (var i = 0; i < files.length; i++) {
FileList.findFileEl(OC.basename(files[i].filename)).remove();
}
FileList.updateFileSummary();
FileList.updateEmptyContent();
enableActions();
}
if (typeof FileActions !== 'undefined') { if (typeof FileActions !== 'undefined') {
FileActions.register('all', 'Restore', OC.PERMISSION_READ, OC.imagePath('core', 'actions/history'), function(filename) { FileActions.register('all', 'Restore', OC.PERMISSION_READ, OC.imagePath('core', 'actions/history'), function(filename) {
@ -7,22 +31,12 @@ $(document).ready(function() {
var deleteAction = tr.children("td.date").children(".action.delete"); var deleteAction = tr.children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon'); deleteAction.removeClass('delete-icon').addClass('progress-icon');
disableActions(); disableActions();
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), $.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), {
{files: JSON.stringify([$('#dir').val() + '/' + filename]), dirlisting: tr.attr('data-dirlisting')}, files: JSON.stringify([filename]),
function(result) { dir: FileList.getCurrentDirectory()
for (var i = 0; i < result.data.success.length; i++) { },
var row = document.getElementById(result.data.success[i].filename); removeCallback
row.parentNode.removeChild(row);
}
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
); );
}); });
}; };
@ -34,22 +48,12 @@ $(document).ready(function() {
var deleteAction = tr.children("td.date").children(".action.delete"); var deleteAction = tr.children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon'); deleteAction.removeClass('delete-icon').addClass('progress-icon');
disableActions(); disableActions();
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
{files: JSON.stringify([$('#dir').val() + '/' +filename]), dirlisting: tr.attr('data-dirlisting')}, files: JSON.stringify([filename]),
function(result) { dir: FileList.getCurrentDirectory()
for (var i = 0; i < result.data.success.length; i++) { },
var row = document.getElementById(result.data.success[i].filename); removeCallback
row.parentNode.removeChild(row);
}
if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
}
enableActions();
FileList.updateFileSummary();
FileList.updateEmptyContent();
}
); );
}); });
// Sets the select_all checkbox behaviour : // Sets the select_all checkbox behaviour :
@ -68,28 +72,44 @@ $(document).ready(function() {
$('.undelete').click('click', function(event) { $('.undelete').click('click', function(event) {
event.preventDefault(); event.preventDefault();
var files = getSelectedFiles('file'); var allFiles = $('#select_all').is(':checked');
var fileslist = JSON.stringify(files); var files = [];
var dirlisting = getSelectedFiles('dirlisting')[0]; var params = {};
disableActions(); disableActions();
if (allFiles) {
FileList.showMask();
params = {
allfiles: true,
dir: FileList.getCurrentDirectory()
};
}
else {
files = getSelectedFiles('name');
for (var i = 0; i < files.length; i++) { for (var i = 0; i < files.length; i++) {
var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete"); var deleteAction = FileList.findFileEl(files[i]).children("td.date").children(".action.delete");
deleteAction.removeClass('delete-icon').addClass('progress-icon'); deleteAction.removeClass('delete-icon').addClass('progress-icon');
} }
params = {
files: JSON.stringify(files),
dir: FileList.getCurrentDirectory()
};
}
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), $.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'),
{files: fileslist, dirlisting: dirlisting}, params,
function(result) { function(result) {
for (var i = 0; i < result.data.success.length; i++) { if (allFiles) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
if (result.status !== 'success') { if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error')); OC.dialogs.alert(result.data.message, t('core', 'Error'));
} }
FileList.hideMask();
// simply remove all files
FileList.update('');
enableActions(); enableActions();
FileList.updateFileSummary(); }
FileList.updateEmptyContent(); else {
removeCallback(result);
}
} }
); );
}); });
@ -102,16 +122,16 @@ $(document).ready(function() {
if (allFiles) { if (allFiles) {
params = { params = {
allfiles: true, allfiles: true,
dir: $('#dir').val() dir: FileList.getCurrentDirectory()
}; };
} }
else { else {
files = getSelectedFiles('file'); files = getSelectedFiles('name');
params = { params = {
files: JSON.stringify(files), files: JSON.stringify(files),
dirlisting: getSelectedFiles('dirlisting')[0] dir: FileList.getCurrentDirectory()
};
}; };
}
disableActions(); disableActions();
if (allFiles) { if (allFiles) {
@ -128,22 +148,17 @@ $(document).ready(function() {
params, params,
function(result) { function(result) {
if (allFiles) { if (allFiles) {
FileList.hideMask();
// simply remove all files
$('#fileList').empty();
}
else {
for (var i = 0; i < result.data.success.length; i++) {
var row = document.getElementById(result.data.success[i].filename);
row.parentNode.removeChild(row);
}
}
if (result.status !== 'success') { if (result.status !== 'success') {
OC.dialogs.alert(result.data.message, t('core', 'Error')); OC.dialogs.alert(result.data.message, t('core', 'Error'));
} }
FileList.hideMask();
// simply remove all files
FileList.update('');
enableActions(); enableActions();
FileList.updateFileSummary(); }
FileList.updateEmptyContent(); else {
removeCallback(result);
}
} }
); );
@ -208,11 +223,9 @@ function getSelectedFiles(property){
var files=[]; var files=[];
elements.each(function(i,element){ elements.each(function(i,element){
var file={ var file={
name:$(element).attr('data-filename'), name:$(element).attr('data-file'),
file:$('#dir').val() + "/" + $(element).attr('data-file'),
timestamp:$(element).attr('data-timestamp'), timestamp:$(element).attr('data-timestamp'),
type:$(element).attr('data-type'), type:$(element).attr('data-type')
dirlisting:$(element).attr('data-dirlisting')
}; };
if(property){ if(property){
files.push(file[property]); files.push(file[property]);

View File

@ -921,6 +921,17 @@ class Access extends LDAPUtility {
return $name; return $name;
} }
/**
* @brief escapes (user provided) parts for LDAP filter
* @param String $input, the provided value
* @returns the escaped string
*/
public function escapeFilterPart($input) {
$search = array('*', '\\', '(', ')');
$replace = array('\\*', '\\\\', '\\(', '\\)');
return str_replace($search, $replace, $input);
}
/** /**
* @brief combines the input filters with AND * @brief combines the input filters with AND
* @param $filters array, the filters to connect * @param $filters array, the filters to connect

View File

@ -118,10 +118,16 @@ class Helper {
return false; return false;
} }
$saveOtherConfigurations = '';
if(empty($prefix)) {
$saveOtherConfigurations = 'AND `Configkey` NOT LIKE \'s%\'';
}
$query = \OCP\DB::prepare(' $query = \OCP\DB::prepare('
DELETE DELETE
FROM `*PREFIX*appconfig` FROM `*PREFIX*appconfig`
WHERE `configkey` LIKE ? WHERE `configkey` LIKE ?
'.$saveOtherConfigurations.'
AND `appid` = \'user_ldap\' AND `appid` = \'user_ldap\'
AND `configkey` NOT IN (\'enabled\', \'installed_version\', \'types\', \'bgjUpdateGroupsLastRun\') AND `configkey` NOT IN (\'enabled\', \'installed_version\', \'types\', \'bgjUpdateGroupsLastRun\')
'); ');

View File

@ -163,6 +163,8 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface {
* Check if the password is correct without logging in the user * Check if the password is correct without logging in the user
*/ */
public function checkPassword($uid, $password) { public function checkPassword($uid, $password) {
$uid = $this->access->escapeFilterPart($uid);
//find out dn of the user name //find out dn of the user name
$filter = \OCP\Util::mb_str_replace( $filter = \OCP\Util::mb_str_replace(
'%uid', $uid, $this->access->connection->ldapLoginFilter, 'UTF-8'); '%uid', $uid, $this->access->connection->ldapLoginFilter, 'UTF-8');
@ -203,6 +205,7 @@ class USER_LDAP extends BackendUtility implements \OCP\UserInterface {
* Get a list of all users. * Get a list of all users.
*/ */
public function getUsers($search = '', $limit = 10, $offset = 0) { public function getUsers($search = '', $limit = 10, $offset = 0) {
$search = $this->access->escapeFilterPart($search);
$cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset; $cachekey = 'getUsers-'.$search.'-'.$limit.'-'.$offset;
//check if users are cached, if so return //check if users are cached, if so return

View File

@ -263,4 +263,7 @@ $CONFIG = array(
/* whether usage of the instance should be restricted to admin users only */ /* whether usage of the instance should be restricted to admin users only */
'singleuser' => false, 'singleuser' => false,
/* where mount.json file should be stored, defaults to data/mount.json */
'mount_file' => '',
); );

View File

@ -9,28 +9,43 @@ OC_Util::checkAdminUser();
OCP\JSON::callCheck(); OCP\JSON::callCheck();
$action=isset($_POST['action'])?$_POST['action']:$_GET['action']; $action=isset($_POST['action'])?$_POST['action']:$_GET['action'];
if(isset($_POST['app']) || isset($_GET['app'])) {
$app=OC_App::cleanAppId(isset($_POST['app'])?$_POST['app']:$_GET['app']);
}
// An admin should not be able to add remote and public services
// on its own. This should only be possible programmatically.
// This change is due the fact that an admin may not be expected
// to execute arbitrary code in every environment.
if($app === 'core' && isset($_POST['key']) &&(substr($_POST['key'],0,7) === 'remote_' || substr($_POST['key'],0,7) === 'public_')) {
OC_JSON::error(array('data' => array('message' => 'Unexpected error!')));
return;
}
$result=false; $result=false;
switch($action) { switch($action) {
case 'getValue': case 'getValue':
$result=OC_Appconfig::getValue($_GET['app'], $_GET['key'], $_GET['defaultValue']); $result=OC_Appconfig::getValue($app, $_GET['key'], $_GET['defaultValue']);
break; break;
case 'setValue': case 'setValue':
$result=OC_Appconfig::setValue($_POST['app'], $_POST['key'], $_POST['value']); $result=OC_Appconfig::setValue($app, $_POST['key'], $_POST['value']);
break; break;
case 'getApps': case 'getApps':
$result=OC_Appconfig::getApps(); $result=OC_Appconfig::getApps();
break; break;
case 'getKeys': case 'getKeys':
$result=OC_Appconfig::getKeys($_GET['app']); $result=OC_Appconfig::getKeys($app);
break; break;
case 'hasKey': case 'hasKey':
$result=OC_Appconfig::hasKey($_GET['app'], $_GET['key']); $result=OC_Appconfig::hasKey($app, $_GET['key']);
break; break;
case 'deleteKey': case 'deleteKey':
$result=OC_Appconfig::deleteKey($_POST['app'], $_POST['key']); $result=OC_Appconfig::deleteKey($app, $_POST['key']);
break; break;
case 'deleteApp': case 'deleteApp':
$result=OC_Appconfig::deleteApp($_POST['app']); $result=OC_Appconfig::deleteApp($app);
break; break;
} }
OC_JSON::success(array('data'=>$result)); OC_JSON::success(array('data'=>$result));

View File

@ -85,93 +85,32 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
} }
break; break;
case 'informRecipients': case 'informRecipients':
$l = OC_L10N::get('core'); $l = OC_L10N::get('core');
$shareType = (int) $_POST['shareType']; $shareType = (int) $_POST['shareType'];
$itemType = $_POST['itemType']; $itemType = $_POST['itemType'];
$itemSource = $_POST['itemSource']; $itemSource = $_POST['itemSource'];
$recipient = $_POST['recipient']; $recipient = $_POST['recipient'];
$ownerDisplayName = \OCP\User::getDisplayName();
$from = \OCP\Util::getDefaultEmailAddress('sharing-noreply');
$noMail = array();
$recipientList = array();
if($shareType === \OCP\Share::SHARE_TYPE_USER) { if($shareType === \OCP\Share::SHARE_TYPE_USER) {
$recipientList[] = $recipient; $recipientList[] = $recipient;
} elseif ($shareType === \OCP\Share::SHARE_TYPE_GROUP) { } elseif ($shareType === \OCP\Share::SHARE_TYPE_GROUP) {
$recipientList = \OC_Group::usersInGroup($recipient); $recipientList = \OC_Group::usersInGroup($recipient);
} }
// don't send a mail to the user who shared the file // don't send a mail to the user who shared the file
$recipientList = array_diff($recipientList, array(\OCP\User::getUser())); $recipientList = array_diff($recipientList, array(\OCP\User::getUser()));
// send mail to all recipients with an email address $mailNotification = new OC\Share\MailNotifications();
foreach ($recipientList as $recipient) { $result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType);
//get correct target folder name
$email = OC_Preferences::getValue($recipient, 'settings', 'email', '');
if ($email !== '') {
$displayName = \OCP\User::getDisplayName($recipient);
$items = \OCP\Share::getItemSharedWithUser($itemType, $itemSource, $recipient);
$filename = trim($items[0]['file_target'], '/');
$subject = (string)$l->t('%s shared »%s« with you', array($ownerDisplayName, $filename));
$expiration = null;
if (isset($items[0]['expiration'])) {
try {
$date = new DateTime($items[0]['expiration']);
$expiration = $l->l('date', $date->getTimestamp());
} catch (Exception $e) {
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
}
}
if ($itemType === 'folder') {
$foldername = "/Shared/" . $filename;
} else {
// if it is a file we can just link to the Shared folder,
// that's the place where the user will find the file
$foldername = "/Shared";
}
$link = \OCP\Util::linkToAbsolute('files', 'index.php', array("dir" => $foldername));
$content = new OC_Template("core", "mail", "");
$content->assign('link', $link);
$content->assign('user_displayname', $ownerDisplayName);
$content->assign('filename', $filename);
$content->assign('expiration', $expiration);
$text = $content->fetchPage();
$content = new OC_Template("core", "altmail", "");
$content->assign('link', $link);
$content->assign('user_displayname', $ownerDisplayName);
$content->assign('filename', $filename);
$content->assign('expiration', $expiration);
$alttext = $content->fetchPage();
$default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply');
$from = OCP\Config::getUserValue(\OCP\User::getUser(), 'settings', 'email', $default_from);
// send it out now
try {
OCP\Util::sendMail($email, $displayName, $subject, $text, $from, $ownerDisplayName, 1, $alttext);
} catch (Exception $exception) {
$noMail[] = \OCP\User::getDisplayName($recipient);
}
}
}
\OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true); \OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true);
if (empty($noMail)) { if (empty($result)) {
OCP\JSON::success(); OCP\JSON::success();
} else { } else {
OCP\JSON::error(array( OCP\JSON::error(array(
'data' => array( 'data' => array(
'message' => $l->t("Couldn't send mail to following users: %s ", 'message' => $l->t("Couldn't send mail to following users: %s ",
implode(', ', $noMail) implode(', ', $result)
) )
) )
)); ));
@ -187,56 +126,31 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
break; break;
case 'email': case 'email':
// enable l10n support
$l = OC_L10N::get('core');
// read post variables // read post variables
$user = OCP\USER::getUser();
$displayName = OCP\User::getDisplayName();
$type = $_POST['itemType'];
$link = $_POST['link']; $link = $_POST['link'];
$file = $_POST['file']; $file = $_POST['file'];
$to_address = $_POST['toaddress']; $to_address = $_POST['toaddress'];
$mailNotification = new \OC\Share\MailNotifications();
$expiration = null; $expiration = null;
if (isset($_POST['expiration']) && $_POST['expiration'] !== '') { if (isset($_POST['expiration']) && $_POST['expiration'] !== '') {
try { try {
$date = new DateTime($_POST['expiration']); $date = new DateTime($_POST['expiration']);
$expiration = $l->l('date', $date->getTimestamp()); $expiration = $date->getTimestamp();
} catch (Exception $e) { } catch (Exception $e) {
\OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR); \OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR);
} }
} }
// setup the email $result = $mailNotification->sendLinkShareMail($to_address, $file, $link, $expiration);
$subject = (string)$l->t('%s shared »%s« with you', array($displayName, $file)); if($result === true) {
\OCP\JSON::success();
$content = new OC_Template("core", "mail", ""); } else {
$content->assign ('link', $link); \OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($result))));
$content->assign ('type', $type);
$content->assign ('user_displayname', $displayName);
$content->assign ('filename', $file);
$content->assign('expiration', $expiration);
$text = $content->fetchPage();
$content = new OC_Template("core", "altmail", "");
$content->assign ('link', $link);
$content->assign ('type', $type);
$content->assign ('user_displayname', $displayName);
$content->assign ('filename', $file);
$content->assign('expiration', $expiration);
$alttext = $content->fetchPage();
$default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply');
$from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from );
// send it out now
try {
OCP\Util::sendMail($to_address, $to_address, $subject, $text, $from_address, $displayName, 1, $alttext);
OCP\JSON::success();
} catch (Exception $exception) {
OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($exception->getMessage()))));
} }
break; break;
} }
} else if (isset($_GET['fetch'])) { } else if (isset($_GET['fetch'])) {

View File

@ -54,11 +54,6 @@
background-color: #1B314D; background-color: #1B314D;
} }
/* in IE9 the nav bar on the left side is too narrow and leave a white area - original width is 80px */
.ie9 #navigation {
width: 100px;
}
/* IE8 isn't able to display transparent background. So it is specified using a gradient */ /* IE8 isn't able to display transparent background. So it is specified using a gradient */
.ie8 #nojavascript { .ie8 #nojavascript {
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); /* IE */ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4c320000', endColorstr='#4c320000'); /* IE */

View File

@ -48,7 +48,7 @@ ul.multiselectoptions > li input[type='checkbox']:checked+label {
font-weight: bold; font-weight: bold;
} }
div.multiselect { div.multiselect, select.multiselect {
display: inline-block; display: inline-block;
max-width: 400px; max-width: 400px;
min-width: 150px; min-width: 150px;
@ -58,6 +58,12 @@ div.multiselect {
vertical-align: bottom; vertical-align: bottom;
} }
/* To make a select look like a multiselect until it's initialized */
select.multiselect {
height: 30px;
min-width: 113px;
}
div.multiselect.active { div.multiselect.active {
background-color: #fff; background-color: #fff;
position: relative; position: relative;

View File

@ -74,6 +74,19 @@ body { background:#fefefe; font:normal .8em/1.6em "Helvetica Neue",Helvetica,Ari
color: #aaa; color: #aaa;
} }
#header .logo {
background-image: url(../img/logo.svg);
width: 250px;
height: 118px;
margin: 0 auto;
}
#header .logo-wide {
background-image: url(../img/logo-wide.svg);
width: 147px;
height: 32px;
}
/* INPUTS */ /* INPUTS */
input[type="text"], input[type="text"],
input[type="password"], input[type="password"],
@ -933,3 +946,15 @@ div.crumb:active {
opacity:.7; opacity:.7;
} }
.appear {
opacity: 1;
transition: opacity 500ms ease 0s;
-moz-transition: opacity 500ms ease 0s;
-ms-transition: opacity 500ms ease 0s;
-o-transition: opacity 500ms ease 0s;
-webkit-transition: opacity 500ms ease 0s;
}
.appear.transparent {
opacity: 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 199 B

View File

@ -1,13 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" fill="#FFF" d="m4 5 4 7 4-6.989z" fill-opacity=".19608"/>
<rdf:RDF> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4 4 4 7 4-6.989z"/>
<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>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none;" d="m4,5,4,7,4-6.989z" fill-opacity="0.19607843" fill="#FFF"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none;" fill="#000" d="m4,4,4,7,4-6.989z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 196 B

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10" width="10" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="10" width="10" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs> <defs>
<linearGradient id="a" y2="8.0832" gradientUnits="userSpaceOnUse" x2="8.4965" gradientTransform="matrix(1.0526 0 0 .98436 -3.4211 1.0602)" y1="-.061574" x1="8.4965"> <linearGradient id="a" x1="8.4965" gradientUnits="userSpaceOnUse" y1="-.061574" gradientTransform="matrix(1.0526 0 0 .98436 -3.4211 1.0602)" x2="8.4965" y2="8.0832">
<stop stop-color="#fff" offset="0"/> <stop stop-color="#fff" offset="0"/>
<stop stop-color="#e6e6e6" offset="1"/> <stop stop-color="#e6e6e6" offset="1"/>
</linearGradient> </linearGradient>
</defs> </defs>
<path opacity=".5" style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m1 2 4 8 4-7.989z"/> <path opacity=".5" style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m1 2 4 8 4-7.989z"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m1 1 4 8 4-7.989z" fill="url(#a)"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m1 1 4 8 4-7.989z" fill="url(#a)"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 857 B

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 212 B

View File

@ -1,4 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="16px" viewBox="-0.5 -0.5 16 16" width="16px" enable-background="new -0.5 -0.5 16 16" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" overflow="visible"><metadata><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><defs> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
</defs> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" overflow="visible" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new -0.5 -0.5 16 16" viewBox="-0.5 -0.5 16 16" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path fill="#ffffff" d="M12.438,3.6875c-0.363,0-0.726,0.1314-1,0.4063l-4.5005,4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2,0l-0.5,0.5c-0.5512,0.5496-0.5512,1.4502,0,2l2.9687,2.9682c0.0063,0.007-0.0065,0.025,0,0.032l0.5,0.5c0.5497,0.55,1.4503,0.55,2,0l0.5-0.5,0.1875-0.219,5.313-5.2812c0.549-0.5498,0.549-1.4503,0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" transform="translate(-0.5,-0.5)"/> <path transform="translate(-.5 -.5)" d="m12.438 3.6875c-0.363 0-0.726 0.1314-1 0.4063l-4.5005 4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2 0l-0.5 0.5c-0.5512 0.5496-0.5512 1.4502 0 2l2.9687 2.9682c0.0063 0.007-0.0065 0.025 0 0.032l0.5 0.5c0.5497 0.55 1.4503 0.55 2 0l0.5-0.5 0.1875-0.219 5.313-5.2812c0.549-0.5498 0.549-1.4503 0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" fill="#fff"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 946 B

After

Width:  |  Height:  |  Size: 799 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 229 B

View File

@ -1,4 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="16px" viewBox="-0.5 -0.5 16 16" width="16px" enable-background="new -0.5 -0.5 16 16" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" overflow="visible"><metadata><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><defs> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
</defs> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" overflow="visible" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new -0.5 -0.5 16 16" viewBox="-0.5 -0.5 16 16" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path fill="#000" d="M12.438,3.6875c-0.363,0-0.726,0.1314-1,0.4063l-4.5005,4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2,0l-0.5,0.5c-0.5512,0.5496-0.5512,1.4502,0,2l2.9687,2.9682c0.0063,0.007-0.0065,0.025,0,0.032l0.5,0.5c0.5497,0.55,1.4503,0.55,2,0l0.5-0.5,0.1875-0.219,5.313-5.2812c0.549-0.5498,0.549-1.4503,0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z" transform="translate(-0.5,-0.5)"/> <path transform="translate(-.5 -.5)" d="m12.438 3.6875c-0.363 0-0.726 0.1314-1 0.4063l-4.5005 4.5-1.9687-2c-0.5498-0.5484-1.4489-0.5498-2 0l-0.5 0.5c-0.5512 0.5496-0.5512 1.4502 0 2l2.9687 2.9682c0.0063 0.007-0.0065 0.025 0 0.032l0.5 0.5c0.5497 0.55 1.4503 0.55 2 0l0.5-0.5 0.1875-0.219 5.313-5.2812c0.549-0.5498 0.549-1.4503 0-2l-0.5-0.5c-0.275-0.2749-0.638-0.4063-1-0.4063z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 943 B

After

Width:  |  Height:  |  Size: 787 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 B

After

Width:  |  Height:  |  Size: 332 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" viewBox="0 0 100 100" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
<path d="m50 89.836c-23.389 0-42.418-19.027-42.418-42.417s19.029-42.419 42.418-42.419 42.418 19.029 42.418 42.419-19.029 42.417-42.418 42.417zm0-79.924c-20.681 0-37.506 16.826-37.506 37.508 0 20.681 16.826 37.505 37.506 37.505s37.507-16.824 37.507-37.505c0-20.683-16.826-37.508-37.507-37.508z"/> <path d="m50 89.836c-23.389 0-42.418-19.027-42.418-42.417s19.029-42.419 42.418-42.419 42.418 19.029 42.418 42.419-19.029 42.417-42.418 42.417zm0-79.924c-20.681 0-37.506 16.826-37.506 37.508 0 20.681 16.826 37.505 37.506 37.505s37.507-16.824 37.507-37.505c0-20.683-16.826-37.508-37.507-37.508z"/>
<path d="m50.001 49.875c-0.141 0-0.283-0.011-0.427-0.037-1.173-0.206-2.03-1.226-2.03-2.419v-17.977c0-1.355 1.1-2.456 2.456-2.456 1.355 0 2.456 1.1 2.456 2.456v4.003l5.431-14.974c0.464-1.274 1.872-1.937 3.146-1.471 1.274 0.462 1.934 1.871 1.471 3.146l-10.195 28.11c-0.357 0.985-1.29 1.619-2.308 1.619z"/> <path d="m50.001 49.875c-0.141 0-0.283-0.011-0.427-0.037-1.173-0.206-2.03-1.226-2.03-2.419v-17.977c0-1.355 1.1-2.456 2.456-2.456 1.355 0 2.456 1.1 2.456 2.456v4.003l5.431-14.974c0.464-1.274 1.872-1.937 3.146-1.471 1.274 0.462 1.934 1.871 1.471 3.146l-10.195 28.11c-0.357 0.985-1.29 1.619-2.308 1.619z"/>
<circle cy="12.956" cx="49.999" r="1.617"/> <circle cy="12.956" cx="49.999" r="1.617"/>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 222 B

View File

@ -1,12 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata> <path d="m8 1c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zm-2.8438 2.75l2.8438 2.8438 2.844-2.8438 1.406 1.4062-2.8438 2.8438 2.8438 2.844-1.406 1.406-2.844-2.8438-2.8438 2.8438-1.4062-1.406 2.8438-2.844-2.8438-2.8438 1.4062-1.4062z" fill="#d40000"/>
<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>
<path fill="#d40000" d="M8,1c-3.866,0-7,3.134-7,7s3.134,7,7,7,7-3.134,7-7-3.134-7-7-7zm-2.8438,2.75l2.8438,2.8438,2.844-2.8438,1.406,1.4062-2.8438,2.8438,2.8438,2.844-1.406,1.406-2.844-2.8438-2.8438,2.8438-1.4062-1.406,2.8438-2.844-2.8438-2.8438,1.4062-1.4062z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 708 B

After

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 321 B

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

After

Width:  |  Height:  |  Size: 349 B

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs> <defs>
<linearGradient id="a" y2="28.777" gradientUnits="userSpaceOnUse" y1="13.895" gradientTransform="matrix(1.0345 0 0 1.0345 8.0708 -14.514)" x2=".44924" x1=".86850"> <linearGradient id="a" x1=".8685" gradientUnits="userSpaceOnUse" x2=".44924" gradientTransform="matrix(1.0345 0 0 1.0345 8.0708 -14.514)" y1="13.895" y2="28.777">
<stop offset="0"/> <stop offset="0"/>
<stop stop-color="#363636" offset="1"/> <stop stop-color="#363636" offset="1"/>
</linearGradient> </linearGradient>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 221 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'> <!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" viewBox="0 0 71 100" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 71 100">
<path d="m65.5 45v-15c0-16.542-13.458-30-30-30s-30 13.458-30 30v15h-5.5v55h71v-55h-5.5zm-52-15c0-12.131 9.869-22 22-22s22 9.869 22 22v15h-44v-15z"/> <path d="m65.5 45v-15c0-16.542-13.458-30-30-30s-30 13.458-30 30v15h-5.5v55h71v-55h-5.5zm-52-15c0-12.131 9.869-22 22-22s22 9.869 22 22v15h-44v-15z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 495 B

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 B

After

Width:  |  Height:  |  Size: 352 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.0001 0c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9435-0.047-4.048 2.1873-5.2187 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.0001 0c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9435-0.047-4.048 2.1873-5.2187 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.0001 1c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9436-0.047-4.0481 2.1873-5.2188 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z" fill="#fff"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.0001 1c-0.4714 0-0.96103 0.5419-0.95 1v6c-0.00747 0.52831 0.42163 1 0.95 1s0.95747-0.47169 0.95-1v-6c0.014622-0.6051-0.4786-1-0.95-1zm-3.3438 2.5c-0.087186 0.019294-0.17163 0.050959-0.25 0.09375-2.9995 1.5715-3.9184 4.7979-3.125 7.4688 0.7934 2.67 3.2799 4.937 6.6875 4.937 3.3592 0 5.8772-2.149 6.7192-4.781 0.841-2.6321-0.058-5.8234-3.125-7.594-0.434-0.2536-1.059-0.0899-1.313 0.3437-0.2536 0.4336-0.09 1.0589 0.344 1.3125 2.3908 1.3798 2.8825 3.4944 2.2812 5.375-0.6012 1.8806-2.344 3.4375-4.9062 3.4375-2.5759 0-4.2976-1.6502-4.875-3.5938-0.5776-1.9436-0.047-4.0481 2.1873-5.2188 0.3787-0.2063 0.5791-0.6925 0.4558-1.1057-0.1232-0.4133-0.5572-0.7103-0.987-0.6755-0.0313-0.0015-0.0626-0.0015-0.0938 0z" fill="#fff"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 248 B

After

Width:  |  Height:  |  Size: 159 B

View File

@ -1,3 +1,4 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 71 100"><metadata><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> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<path d="M8,1c-2.2091,0-4,1.7909-4,4v2h-1v7h10v-7h-1v-2c0-2.2091-1.791-4-4-4zm0,2c1.1046,0,2,0.89543,2,2v2h-4v-2c0-1.1046,0.8954-2,2-2z" transform="matrix(6.25,0,0,6.25,-14.5,0)" fill="#000"/> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="16px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 71 100" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path d="m8 1c-2.2091 0-4 1.7909-4 4v2h-1v7h10v-7h-1v-2c0-2.2091-1.791-4-4-4zm0 2c1.1046 0 2 0.89543 2 2v2h-4v-2c0-1.1046 0.8954-2 2-2z" transform="matrix(6.25,0,0,6.25,-14.5,0)"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 665 B

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

After

Width:  |  Height:  |  Size: 92 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 163 B

View File

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g transform="translate(0 -1036.4)"> <g transform="translate(0 -1036.4)">
<g>
<path d="m2 1037.4 11 6-11 6z"/> <path d="m2 1037.4 11 6-11 6z"/>
<path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/> <path d="m11 1045.4v2h-2v2h2v2h2v-2h2v-2h-2v-2z"/>
</g> </g>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 429 B

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 B

After

Width:  |  Height:  |  Size: 348 B

View File

@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs> <defs>
<linearGradient id="a" y2="38.409" gradientUnits="userSpaceOnUse" x2="46.396" gradientTransform="matrix(-.41002 0 0 .54471 28.023 -5.922)" y1="12.708" x1="46.396"> <linearGradient id="a" x1="46.396" gradientUnits="userSpaceOnUse" y1="12.708" gradientTransform="matrix(-.41002 0 0 .54471 28.023 -5.922)" x2="46.396" y2="38.409">
<stop offset="0"/> <stop offset="0"/>
<stop stop-color="#363636" offset="1"/> <stop stop-color="#363636" offset="1"/>
</linearGradient> </linearGradient>
</defs> </defs>
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/> <rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<g>
<path opacity=".6" style="color:#000000" d="m6 1.9992c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.4068c0.4776-0.76635 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="#fff"/> <path opacity=".6" style="color:#000000" d="m6 1.9992c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.4068c0.4776-0.76635 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="#fff"/>
<path opacity=".7" style="color:#000000" d="m6 1c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.406c0.478-0.7663 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="url(#a)"/> <path opacity=".7" style="color:#000000" d="m6 1c-2.7614 0-5 2.2386-5 5s2.2386 5 5 5c0.98478 0 1.8823-0.28967 2.6562-0.78125l4.4688 4.625c0.09558 0.10527 0.22619 0.16452 0.375 0.15625 0.14882-0.0083 0.3031-0.07119 0.40625-0.1875l0.9375-1.0625c0.19194-0.22089 0.19549-0.53592 0-0.71875l-4.594-4.406c0.478-0.7663 0.75-1.6555 0.75-2.625 0-2.7614-2.2386-5-5-5zm0 2c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="url(#a)"/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 524 B

After

Width:  |  Height:  |  Size: 452 B

View File

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs> <defs>
<linearGradient id="c" y2="7.556" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="15.5" y1="7.556" x1=".5"/> <linearGradient id="d" x1=".5" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="15.5" y1="7.556" y2="7.556"/>
<linearGradient id="a"> <linearGradient id="a">
<stop offset="0"/> <stop offset="0"/>
<stop stop-color="#363636" offset="1"/> <stop stop-color="#363636" offset="1"/>
</linearGradient> </linearGradient>
<linearGradient id="b" y2="14.998" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="7.493" y1=".0035527" x1="7.493"/> <linearGradient id="e" x1="7.493" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="7.493" y1=".0035527" y2="14.998"/>
</defs> </defs>
<g opacity=".6" transform="translate(.027972 .944)" fill="#fff"> <g opacity=".6" transform="translate(.027972 .944)" fill="#fff">
<path d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block" fill="#fff"/> <path fill="#fff" d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block"/>
</g> </g>
<g opacity=".7" transform="translate(0 -.056)" fill="url(#c)"> <g opacity=".7" transform="translate(0 -.056)" fill="url(#d)">
<path d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block" fill="url(#b)"/> <path fill="url(#e)" d="m6.9375 0.056c-0.2484 0-0.4375 0.18908-0.4375 0.4375v1.25c-0.5539 0.1422-1.0512 0.3719-1.5312 0.6563l-0.9063-0.9063c-0.17566-0.17566-0.44934-0.17566-0.625 0l-1.5 1.5c-0.17566 0.17566-0.17566 0.44934 0 0.625l0.9063 0.9063c-0.2844 0.48-0.5141 0.9773-0.6563 1.5312h-1.25c-0.24842 0-0.4375 0.1891-0.4375 0.4375v2.125c1e-8 0.24842 0.18908 0.4375 0.4375 0.4375h1.25c0.1422 0.5539 0.37188 1.0512 0.65625 1.5312l-0.9063 0.907c-0.17566 0.17566-0.17566 0.44934 0 0.625l1.5 1.5c0.17566 0.17566 0.44934 0.17566 0.625 0l0.9063-0.907c0.48 0.285 0.9773 0.514 1.5312 0.656v1.25c1e-7 0.24842 0.18908 0.4375 0.4375 0.4375h2.125c0.2484 0 0.4375-0.189 0.4375-0.438v-1.25c0.5539-0.1422 1.0512-0.37188 1.5312-0.65625l0.90625 0.90625c0.17566 0.17566 0.44934 0.17566 0.625 0l1.5-1.5c0.17566-0.17566 0.17566-0.44934 0-0.625l-0.906-0.906c0.285-0.48 0.514-0.9771 0.656-1.531h1.25c0.249 0 0.438-0.1891 0.438-0.4375v-2.125c0-0.2484-0.189-0.4375-0.438-0.4375h-1.25c-0.142-0.5539-0.371-1.0512-0.656-1.5312l0.906-0.9063c0.17566-0.17566 0.17566-0.44934 0-0.625l-1.5-1.5c-0.17566-0.17566-0.44934-0.17566-0.625 0l-0.906 0.9063c-0.48-0.2844-0.977-0.5141-1.531-0.6563v-1.25c0-0.24842-0.1891-0.4375-0.4375-0.4375zm1.0625 4.1573c1.8451 0 3.3427 1.4975 3.3427 3.3427 0 1.8451-1.4975 3.3427-3.3427 3.3427-1.8451 0-3.3427-1.4979-3.3427-3.343s1.4976-3.3427 3.3427-3.3427z" display="block"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 290 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/> <rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m4.5689 2.4831c-0.96481 0-1.7833 0.70559-1.7833 1.6162 0.00685 0.28781 0.032588 0.64272 0.20434 1.3933v0.018581l0.018574 0.018573c0.055135 0.15793 0.13537 0.24827 0.24149 0.37154 0.10612 0.12326 0.23263 0.26834 0.35294 0.39011 0.014154 0.014326 0.023227 0.023201 0.037149 0.037163 0.023859 0.10383 0.052763 0.21557 0.074304 0.3158 0.057317 0.26668 0.051439 0.45553 0.037155 0.52015-0.4146 0.1454-0.9304 0.3187-1.3932 0.5199-0.2598 0.113-0.4949 0.2139-0.6873 0.3344-0.1923 0.1206-0.3836 0.2116-0.4458 0.483-0.0007972 0.012367-0.0007972 0.024787 0 0.037163-0.060756 0.55788-0.15266 1.3783-0.22291 1.932-0.015166 0.11656 0.046264 0.23943 0.14861 0.29723 0.84033 0.45393 2.1312 0.63663 3.418 0.63161 1.2868-0.005 2.5674-0.19845 3.3808-0.63161 0.10234-0.0578 0.16378-0.18067 0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.059748-0.053461-0.23358 0-0.50157 0.014356-0.071959 0.036836-0.14903 0.055729-0.22292 0.045032-0.05044 0.080132-0.091658 0.13003-0.14861 0.1064-0.1215 0.2207-0.2489 0.3157-0.3715 0.0951-0.1226 0.1728-0.2279 0.223-0.3715l0.018574-0.018581c0.1941-0.7837 0.1942-1.1107 0.2043-1.3933v-0.018573c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067 0-2.6 1.0287-2.6 2.3562 0.00998 0.4196 0.047512 0.93701 0.29791 2.0312v0.027083l0.027081 0.027083c0.080384 0.23025 0.19736 0.36196 0.35208 0.54166s0.33917 0.39121 0.51458 0.56874c0.020637 0.020887 0.033864 0.033826 0.054161 0.054175 0.034785 0.15137 0.076926 0.31428 0.10833 0.46041 0.083566 0.38879 0.074995 0.66411 0.054171 0.75832-0.6045 0.2122-1.3565 0.465-2.0312 0.7583-0.3789 0.1647-0.7217 0.3118-1.0021 0.4875-0.28044 0.17574-0.55934 0.30851-0.64999 0.70416-0.00116 0.01804-0.00116 0.03613 0 0.05418-0.08858 0.81334-0.22257 2.0094-0.325 2.8166-0.022111 0.16993 0.067452 0.34906 0.21666 0.43333 1.2252 0.66179 3.1072 0.92814 4.9833 0.92082 1.8761-0.0073 3.7431-0.28932 4.9291-0.92082 0.14921-0.08427 0.23878-0.2634 0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.087106-0.07795-0.34054 0-0.73124 0.02093-0.10491 0.05371-0.21727 0.08125-0.325 0.06566-0.073537 0.11683-0.13363 0.18958-0.21666 0.15516-0.17709 0.32189-0.36287 0.46041-0.54166s0.25186-0.33217 0.325-0.54166l0.02708-0.027083c0.28309-1.1425 0.28324-1.6193 0.29792-2.0312v-0.027083c0-1.3275-1.1933-2.3562-2.6-2.3562z"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4.5689 2.4831c-0.96481 0-1.7833 0.70559-1.7833 1.6162 0.00685 0.28781 0.032588 0.64272 0.20434 1.3933v0.018581l0.018574 0.018573c0.055135 0.15793 0.13537 0.24827 0.24149 0.37154 0.10612 0.12326 0.23263 0.26834 0.35294 0.39011 0.014154 0.014326 0.023227 0.023201 0.037149 0.037163 0.023859 0.10383 0.052763 0.21557 0.074304 0.3158 0.057317 0.26668 0.051439 0.45553 0.037155 0.52015-0.4146 0.1454-0.9304 0.3187-1.3932 0.5199-0.2598 0.113-0.4949 0.2139-0.6873 0.3344-0.1923 0.1206-0.3836 0.2116-0.4458 0.483-0.0007972 0.012367-0.0007972 0.024787 0 0.037163-0.060756 0.55788-0.15266 1.3783-0.22291 1.932-0.015166 0.11656 0.046264 0.23943 0.14861 0.29723 0.84033 0.45393 2.1312 0.63663 3.418 0.63161 1.2868-0.005 2.5674-0.19845 3.3808-0.63161 0.10234-0.0578 0.16378-0.18067 0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.059748-0.053461-0.23358 0-0.50157 0.014356-0.071959 0.036836-0.14903 0.055729-0.22292 0.045032-0.05044 0.080132-0.091658 0.13003-0.14861 0.1064-0.1215 0.2207-0.2489 0.3157-0.3715 0.0951-0.1226 0.1728-0.2279 0.223-0.3715l0.018574-0.018581c0.1941-0.7837 0.1942-1.1107 0.2043-1.3933v-0.018573c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067 0-2.6 1.0287-2.6 2.3562 0.00998 0.4196 0.047512 0.93701 0.29791 2.0312v0.027083l0.027081 0.027083c0.080384 0.23025 0.19736 0.36196 0.35208 0.54166s0.33917 0.39121 0.51458 0.56874c0.020637 0.020887 0.033864 0.033826 0.054161 0.054175 0.034785 0.15137 0.076926 0.31428 0.10833 0.46041 0.083566 0.38879 0.074995 0.66411 0.054171 0.75832-0.6045 0.2122-1.3565 0.465-2.0312 0.7583-0.3789 0.1647-0.7217 0.3118-1.0021 0.4875-0.28044 0.17574-0.55934 0.30851-0.64999 0.70416-0.00116 0.01804-0.00116 0.03613 0 0.05418-0.08858 0.81334-0.22257 2.0094-0.325 2.8166-0.022111 0.16993 0.067452 0.34906 0.21666 0.43333 1.2252 0.66179 3.1072 0.92814 4.9833 0.92082 1.8761-0.0073 3.7431-0.28932 4.9291-0.92082 0.14921-0.08427 0.23878-0.2634 0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.087106-0.07795-0.34054 0-0.73124 0.02093-0.10491 0.05371-0.21727 0.08125-0.325 0.06566-0.073537 0.11683-0.13363 0.18958-0.21666 0.15516-0.17709 0.32189-0.36287 0.46041-0.54166s0.25186-0.33217 0.325-0.54166l0.02708-0.027083c0.28309-1.1425 0.28324-1.6193 0.29792-2.0312v-0.027083c0-1.3275-1.1933-2.3562-2.6-2.3562z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 B

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 B

After

Width:  |  Height:  |  Size: 565 B

View File

@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata> <g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
<rdf:RDF> <path d="m330.36 858.43 43.111 108.06 117.64 9.2572-89.445 74.392 27.55 114.75-98.391-62.079-100.62 61.66 28.637-112.76-89.734-76.638 116.09-7.6094z" transform="translate(-21.071,-112.5)" fill="#CCC"/>
<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 transform="matrix(0.06832234,0,0,0.06832234,-10.114234,-50.901693)">
<path fill="#CCC" transform="translate(-21.071,-112.5)" d="m330.36,858.43,43.111,108.06,117.64,9.2572-89.445,74.392,27.55,114.75-98.391-62.079-100.62,61.66,28.637-112.76-89.734-76.638,116.09-7.6094z"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 726 B

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

After

Width:  |  Height:  |  Size: 492 B

View File

@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="22" width="22" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata> <g transform="matrix(.068322 0 0 .068322 -10.114 -50.902)">
<rdf:RDF> <path d="m330.36 858.43 43.111 108.06 117.64 9.2572-89.445 74.392 27.55 114.75-98.391-62.079-100.62 61.66 28.637-112.76-89.734-76.638 116.09-7.6094z" transform="translate(-21.071,-112.5)" fill="#FC0"/>
<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 transform="matrix(0.06832234,0,0,0.06832234,-10.114235,-50.901693)">
<path fill="#FC0" transform="translate(-21.071,-112.5)" d="m330.36,858.43,43.111,108.06,117.64,9.2572-89.445,74.392,27.55,114.75-98.391-62.079-100.62,61.66,28.637-112.76-89.734-76.638,116.09-7.6094z"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 726 B

After

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 122 B

View File

@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g>
<rect rx=".5" ry=".5" height="4" width="4" y="1" x="1"/> <rect rx=".5" ry=".5" height="4" width="4" y="1" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="2" x="6"/> <rect rx=".5" ry=".5" height="1" width="9" y="2" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="6" x="1"/> <rect rx=".5" ry=".5" height="4" width="4" y="6" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="7" x="6"/> <rect rx=".5" ry=".5" height="1" width="9" y="7" x="6"/>
<rect rx=".5" ry=".5" height="4" width="4" y="11" x="1"/> <rect rx=".5" ry=".5" height="4" width="4" y="11" x="1"/>
<rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/> <rect rx=".5" ry=".5" height="1" width="9" y="12" x="6"/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 692 B

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 120 B

View File

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="1"/> <rect rx=".5" ry=".5" height="6" width="6" y="1" x="1"/>
<rect rx=".5" ry=".5" height="6" width="6" y="1" x="9"/> <rect rx=".5" ry=".5" height="6" width="6" y="1" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="9"/> <rect rx=".5" ry=".5" height="6" width="6" y="9" x="9"/>
<rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/> <rect rx=".5" ry=".5" height="6" width="6" y="9" x="1"/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 318 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 16 9" xml:space="preserve" overflow="visible" height="9px" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 16 9"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="9px" viewBox="0 0 16 9" width="16px" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 16 9" overflow="visible" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path d="m7.999 0c-3.109 0-5.926 1.719-7.999 4.5 2.073 2.781 4.89 4.5 7.999 4.5 3.111 0 5.928-1.719 8.001-4.5-2.073-2.781-4.892-4.5-8.001-4.5zm0.001 7.5c-1.657 0-3-1.343-3-3s1.343-3 3-3c1.657 0 3 1.343 3 3s-1.343 3-3 3z" fill="#222"/> <path d="m7.999 0c-3.109 0-5.926 1.719-7.999 4.5 2.073 2.781 4.89 4.5 7.999 4.5 3.111 0 5.928-1.719 8.001-4.5-2.073-2.781-4.892-4.5-8.001-4.5zm0.001 7.5c-1.657 0-3-1.343-3-3s1.343-3 3-3c1.657 0 3 1.343 3 3s-1.343 3-3 3z" fill="#222"/>
<circle cy="4.501" cx="8" r="1.5" fill="#222"/> <circle cy="4.501" cx="8" r="1.5" fill="#222"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 676 B

After

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 B

After

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

After

Width:  |  Height:  |  Size: 138 B

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m12 12-4-8-4 7.989z"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m12 12-4-8-4 7.989z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

After

Width:  |  Height:  |  Size: 138 B

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16px" width="16px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m4 4 4 8 4-7.989z"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m4 4 4 8 4-7.989z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 437 B

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 300 B

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/> <rect style="color:#000000" fill-opacity="0" height="97.986" width="163.31" y="-32.993" x="-62.897"/>
<path style="block-progression:tb;text-indent:0;color:#000000;text-transform:none" d="m8.4036 1c-1.7312 0-3.1998 1.2661-3.1998 2.9 0.012287 0.51643 0.058473 1.1532 0.36664 2.5v0.033333l0.033328 0.033333c0.098928 0.28338 0.24289 0.44549 0.4333 0.66666s0.41742 0.48149 0.63328 0.69999c0.025397 0.025708 0.041676 0.041633 0.066656 0.066677 0.04281 0.18631 0.094672 0.38681 0.13332 0.56666 0.10284 0.47851 0.092296 0.81737 0.066668 0.93332-0.74389 0.26121-1.6694 0.57228-2.4998 0.93332-0.46622 0.2027-0.8881 0.3837-1.2332 0.59999-0.34513 0.2163-0.68837 0.37971-0.79994 0.86666-0.16004 0.63293-0.19866 0.7539-0.39997 1.5333-0.027212 0.20914 0.083011 0.42961 0.26665 0.53333 1.5078 0.81451 3.824 1.1423 6.1329 1.1333s4.6066-0.35609 6.0662-1.1333c0.11739-0.07353 0.14304-0.10869 0.13332-0.2333-0.04365-0.68908-0.08154-1.3669-0.13332-1.7666-0.01807-0.09908-0.06492-0.19275-0.13332-0.26666-0.46366-0.5537-1.1564-0.89218-1.9665-1.2333-0.7396-0.31144-1.6067-0.63486-2.4665-0.99999-0.048123-0.10721-0.095926-0.41912 0-0.89999 0.025759-0.12912 0.066096-0.26742 0.099994-0.4 0.0808-0.090507 0.14378-0.16447 0.23332-0.26666 0.19096-0.21796 0.39614-0.44661 0.56662-0.66666s0.30996-0.40882 0.39997-0.66666l0.03333-0.033333c0.34839-1.4062 0.34857-1.9929 0.36664-2.5v-0.033333c0-1.6339-1.4686-2.9-3.1998-2.9z"/> <path style="block-progression:tb;color:#000000;text-transform:none;text-indent:0" d="m8.4036 1c-1.7312 0-3.1998 1.2661-3.1998 2.9 0.012287 0.51643 0.058473 1.1532 0.36664 2.5v0.033333l0.033328 0.033333c0.098928 0.28338 0.24289 0.44549 0.4333 0.66666s0.41742 0.48149 0.63328 0.69999c0.025397 0.025708 0.041676 0.041633 0.066656 0.066677 0.04281 0.18631 0.094672 0.38681 0.13332 0.56666 0.10284 0.47851 0.092296 0.81737 0.066668 0.93332-0.74389 0.26121-1.6694 0.57228-2.4998 0.93332-0.46622 0.2027-0.8881 0.3837-1.2332 0.59999-0.34513 0.2163-0.68837 0.37971-0.79994 0.86666-0.16004 0.63293-0.19866 0.7539-0.39997 1.5333-0.027212 0.20914 0.083011 0.42961 0.26665 0.53333 1.5078 0.81451 3.824 1.1423 6.1329 1.1333s4.6066-0.35609 6.0662-1.1333c0.11739-0.07353 0.14304-0.10869 0.13332-0.2333-0.04365-0.68908-0.08154-1.3669-0.13332-1.7666-0.01807-0.09908-0.06492-0.19275-0.13332-0.26666-0.46366-0.5537-1.1564-0.89218-1.9665-1.2333-0.7396-0.31144-1.6067-0.63486-2.4665-0.99999-0.048123-0.10721-0.095926-0.41912 0-0.89999 0.025759-0.12912 0.066096-0.26742 0.099994-0.4 0.0808-0.090507 0.14378-0.16447 0.23332-0.26666 0.19096-0.21796 0.39614-0.44661 0.56662-0.66666s0.30996-0.40882 0.39997-0.66666l0.03333-0.033333c0.34839-1.4062 0.34857-1.9929 0.36664-2.5v-0.033333c0-1.6339-1.4686-2.9-3.1998-2.9z"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 B

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

After

Width:  |  Height:  |  Size: 108 B

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<g transform="translate(0 -1020.4)"> <g transform="translate(0 -1020.4)">
<path fill="#fff" d="m6 1026.4v20h8v-20h-8zm12 0v20h8v-20h-8z"/> <path d="m6 1026.4v20h8v-20h-8zm12 0v20h8v-20h-8z" fill="#fff"/>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 393 B

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 594 B

After

Width:  |  Height:  |  Size: 376 B

View File

@ -1,12 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="44" width="14" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="44" width="14" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata> <path d="m0.54879 0.047777 12.195 21.952-12.195 21.951 12.195-21.951z" stroke="#d7d7d7" stroke-linecap="round" stroke-miterlimit="31.2" stroke-width="1.0976" fill="#F00"/>
<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>
<path d="M0.54879,0.047777,12.744,22,0.54879,43.951,12.744,22z" stroke="#d7d7d7" stroke-linecap="round" stroke-miterlimit="31.20000076000000178" stroke-width="1.09758711000000009" fill="#F00"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 638 B

After

Width:  |  Height:  |  Size: 455 B

View File

@ -1,4 +1,5 @@
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="60" width="170" enable-background="new 0 0 792 612" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 1346.4 475.2"><metadata><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> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rect rx="50" ry="50" height="475.2" width="1346.4" y="-3.5527E-15" x="-2.8405E-15" fill="#000"/><path d="m150.48,126.72c-11.88,0-23.76,11.88-23.76,23.76v166.32l-47.52,23.76v11.88s0,11.88,11.88,11.88h356.4c11.88,0,11.88-11.88,11.88-11.88v-11.88l-47.52-23.76v-166.32c0-11.88-11.88-23.76-23.76-23.76zm0,23.667h237.6v142.65h-237.6z" fill="#fff"/><text style="word-spacing:0px;letter-spacing:0px;" xml:space="preserve" font-size="316.8px" y="239.58" x="451.44" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="126.72px" font-family="FreeSans" y="239.58" x="451.44" font-weight="600" fill="#ffffff">Desktop app</tspan></text> <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" height="60" width="170" version="1.1" y="0px" x="0px" xmlns:cc="http://creativecommons.org/ns#" enable-background="new 0 0 792 612" viewBox="0 0 1346.4 475.2" xmlns:dc="http://purl.org/dc/elements/1.1/">
<text style="word-spacing:0px;letter-spacing:0px;" xml:space="preserve" font-size="316.8px" y="342.54001" x="493.01996" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="71.28px" y="342.54001" x="493.01996" font-family="FreeSans" fill="#ffffff">Windows, OS X, Linux</tspan></text> <rect rx="50" ry="50" height="475.2" width="1346.4" y="-3.5527e-15" x="-2.8405e-15"/><path d="m150.48 126.72c-11.88 0-23.76 11.88-23.76 23.76v166.32l-47.52 23.76v11.88s0 11.88 11.88 11.88h356.4c11.88 0 11.88-11.88 11.88-11.88v-11.88l-47.52-23.76v-166.32c0-11.88-11.88-23.76-23.76-23.76zm0 23.667h237.6v142.65h-237.6z" fill="#fff"/><text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="239.58" x="451.44" font-family="Sans" line-height="125%" fill="#ffffff"><tspan font-size="126.72px" font-weight="600" y="239.58" x="451.44" font-family="FreeSans" fill="#ffffff">Desktop app</tspan></text>
<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="316.8px" y="342.54001" x="493.01996" font-family="Sans" line-height="125%" fill="#ffffff"><tspan y="342.54001" x="493.01996" font-size="71.28px" font-family="FreeSans" fill="#ffffff">Windows, OS X, Linux</tspan></text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Some files were not shown because too many files have changed in this diff Show More