Merged 1.0.7_branch into master

This commit is contained in:
2019-08-27 18:22:25 -05:00
23 changed files with 518 additions and 196 deletions

View File

@@ -1,5 +1,13 @@
# Changelog
## 1.0.7
* \#31: New installation displays 'Mount location is not set' on Windows
* \#33: Add 'Microsoft Visual C++ Redistributable' as dependency installation on Windows
* \#32: Don't display network error message when check for UI updates fails
* \#30: Add uninstall feature with reboot to handle WinFSP upgrades/downgrades
* \#34: Allow cancelling/closing dependency installation if version count > 1
* Handle incorrect download sizes for dependencies and releases
## 1.0.6
* Additional Linux distribution support:
* Antergos

3
CONTRIBUTORS.md Normal file
View File

@@ -0,0 +1,3 @@
# Repertory UI
* Oleg Nypadymka <onypadymka@gmail.com>
* Scott E. Graves <scott.e.graves@protonmail.com>

View File

@@ -1,5 +1,5 @@
# Repertory UI
![alt text](https://i.ibb.co/2dRFvFz/Screen-Shot-2019-07-30-at-9-06-49-PM.png)
![alt text](https://i.ibb.co/h1zS7Fr/Screenshot-from-2019-08-27-17-06-41.png)
## GUI for [Repertory](https://bitbucket.org/blockstorage/repertory)
Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows.
@@ -9,10 +9,10 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v
* SiaPrime >=1.4.0
## Downloads
* **Repertory UI v1.0.6 Linux 64-bit** [<Primary\>](https://pixeldrain.com/u/u5WRzlSt) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage)
* **Repertory UI v1.0.7 Linux 64-bit** [<Primary\>](https://pixeldrain.com/u/thkU0RHP) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage)
* NOTE: Linux distributions require `fuse` and `libfuse` to be installed.
* **Repertory UI v1.0.6 OS X 64-bit** [<Primary\>](https://pixeldrain.com/u/_Qk344Yy) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_mac.dmg)
* **Repertory UI v1.0.6 Windows 64-bit** [<Primary\>](https://pixeldrain.com/u/DpGbYmao) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_win.exe)
* **Repertory UI v1.0.7 OS X 64-bit** [<Primary\>](https://pixeldrain.com/u/gBW5TSR0) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_mac.dmg)
* **Repertory UI v1.0.7 Windows 64-bit** [<Primary\>](https://pixeldrain.com/u/AcsttDQ_) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_win.exe)
* NOTE: Windows systems require [Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019](https://aka.ms/vs/16/release/vc_redist.x64.exe)
## Supported Platforms

View File

@@ -6,6 +6,9 @@ set /a ENABLE_UPLOAD=%1
set BITBUCKET_AUTH=%2
set OPENSSL_BIN="c:\OpenSSL-Win64\bin\openssl.exe"
if NOT EXIST %OPENSSL_BIN% (
set OPENSSL_BIN="c:\Program Files\OpenSSL-Win64\bin\openssl.exe"
)
set PRIVATE_KEY="c:\src\cert\blockstorage_dev_private.pem"
set PUBLIC_KEY="%ROOT%blockstorage_dev_public.pem"
@@ -26,8 +29,8 @@ pushd "%ROOT%"
call npm run dist && (
pushd dist
(certutil -hashfile "%OUT_FILE%" SHA256 | %SED_BIN% -e "1d" -e "$d" -e "s/\ //g") > "%OUT_FILE%.sha256" || (call :ERROR "Create sha-256 failed")
"%OPENSSL_BIN%" dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed")
"%OPENSSL_BIN%" dgst -sha256 -verify "%PUBLIC_KEY%" -signature "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Verify signature failed")
%OPENSSL_BIN% dgst -sha256 -sign "%PRIVATE_KEY%" -out "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Create signature failed")
%OPENSSL_BIN% dgst -sha256 -verify "%PUBLIC_KEY%" -signature "%OUT_FILE%.sig" "%OUT_FILE%" || (call :ERROR "Verify signature failed")
"%B64_BIN%" -e "%OUT_FILE%.sig" "%OUT_FILE%.sig.b64" || (call :ERROR "Create base64 failed")
if "%ENABLE_UPLOAD%"=="1" (

View File

@@ -1,6 +1,6 @@
{
"name": "repertory-ui",
"version": "1.0.6",
"version": "1.0.7",
"private": true,
"author": "scott.e.graves@protonmail.com",
"description": "GUI for Repertory - Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows.",

View File

@@ -63,31 +63,35 @@ elif [ -f /etc/debian_version ]; then
resetDistVer
fi
fi
elif [ -f /etc/os-release ]; then
. /etc/os-release
if [ "$ID" == "arch" ]; then
DISTNAME=arch
elif [ "$ID" == "antergos" ] || [ "$ID" == "manjaro" ]; then
DISTNAME=ubuntu
DISTVER=18.10
elif [ "$ID" == "opensuse-leap" ]; then
if [ "$VERSION_ID" == "15.0" ]; then
DISTNAME=opensuse
DISTVER=15
elif [ "$VERSION_ID" == "15.1" ]; then
DISTNAME=opensuse
DISTVER=15.1
fi
if [ "$DISTNAME" == "unknown" ]; then
if [ -f /etc/os-release ]; then
. /etc/os-release
if [ "$ID" == "arch" ]; then
DISTNAME=arch
elif [ "$ID" == "antergos" ] || [ "$ID" == "manjaro" ]; then
DISTNAME=ubuntu
DISTVER=18.10
elif [ "$ID" == "opensuse-leap" ]; then
if [ "$VERSION_ID" == "15.0" ]; then
DISTNAME=opensuse
DISTVER=15
elif [ "$VERSION_ID" == "15.1" ]; then
DISTNAME=opensuse
DISTVER=15.1
else
resetDistVer
fi
elif [ "$ID" == "opensuse-tumbleweed" ]; then
DISTNAME=tumbleweed
DISTVER=
else
resetDistVer
fi
elif [ "$ID" == "opensuse-tumbleweed" ]; then
DISTNAME=tumbleweed
DISTVER=
else
resetDistVer
fi
else
resetDistVer
fi
echo ${DISTNAME}${DISTVER}
echo ${DISTNAME}${DISTVER}

View File

@@ -88,9 +88,9 @@ const unmountAllDrives = () => {
mountedData = {};
};
function createWindow() {
function createWindow() {
loadUiSettings();
let extra = {};
if (os.platform() === 'linux') {
extra = {
@@ -726,20 +726,45 @@ ipcMain.on(Constants.IPC_Install_Dependency, (event, data) => {
}, error);
});
} else {
helpers
.executeAndWait(data.Source)
.then(() => {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
Source: data.Source,
URL: data.URL,
const execInstall = () => {
helpers
.executeAndWait(data.Source)
.then(() => {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
Source: data.Source,
URL: data.URL,
});
})
.catch(error => {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
Source: data.Source,
URL: data.URL,
}, error);
});
})
.catch(error => {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
Source: data.Source,
URL: data.URL,
}, error);
});
};
if (data.IsWinFSP) {
helpers
.performWindowsUninstall(["WinFsp 2019.3 B1", "WinFsp 2019.3 B2"])
.then(uninstalled => {
if (uninstalled) {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
RebootRequired: true,
Source: data.Source,
URL: data.URL,
});
} else {
execInstall();
}
})
.catch(error => {
standardIPCReply(event, Constants.IPC_Install_Dependency_Reply, {
Source: data.Source,
URL: data.URL,
}, error);
});
} else {
execInstall();
}
}
});
@@ -886,6 +911,13 @@ ipcMain.on(Constants.IPC_Mount_Drive, (event, data) => {
}
});
ipcMain.on(Constants.IPC_Reboot_System, () => {
if (os.platform() === 'win32') {
helpers.executeAsync('shutdown.exe', ['/r', '/t', '30']);
}
closeApplication();
});
ipcMain.on(Constants.IPC_Save_State, (event, data) => {
helpers.mkDirByPathSync(helpers.getDataDirectory());
const configFile = path.join(helpers.getDataDirectory(), 'settings.json');

View File

@@ -1,220 +1,220 @@
{
"Locations": {
"arch": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"centos7": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"darwin": {
"1.0.6": {
"sha256": "9b27c8564dce9202a395d680135d29532ed6b6f0cd1d9875952a78bb05e68195",
"sig": "CV5EhAk41EyqXjYCfocdQ2g7tBgA2WXNQpSonqQhKfbWqvQRrSrX4QTioxmCQ6WP/fuRZ83lJkorlSufnv5WyBuYKi6rLfTAyLMIh1j6Bbb9qqpI57DNNl69GIayrzNYyWNME0Y9hZn04YKllH2o9W25yQRfG1BVrC9Xt8qtfa1vJ3msHgf30mvIcUUYU7HibUZgHQDLRHjkCL82BozK+JO32js43hD4X80eE9A4u/ugWxZfq/ES+ajAugroggsI51nlJi7T9Qe7aoF7RV8Mxx6OR9woakPxgCp6F855zpXgj1AHMq269IRDxN987OSpb1GIBWgRft3O2AJED8DmlTkZYDMNEFC4FTtv7KUFR/VND81gmlBRysBVHXlwQg2apTRBf1ON9FWbztNNSKXt4gzRQsk/WoqTpPFLiBfgDofUdq7EHIJzxOm/MKfZ7TNyvAKTnLlBbyMJYqKV7wnt7GGMkUHLJTNOdq7eCtLipeGgHWScG5pBswW83Ib8+dRlLcfnTkT4l15tfjGwZMErb4I07dwWrkcq2zCVDXxnwITYWzVoHsjfDwu05OpntkD1VFSH/yqGJUC1rQ5z9nSSmojbT4AYzCajy2j6qITzYmLG9KL0cBwAqD1YceyCqsL9U1y9M7s4Aerq8EJ5B7ddENEESYz5M74u5LWR5webwdAFhwoBEQHrGkfkPR5kovNLV+CSA8IAlaDzrKnuieJbaXsA0Y41Tr9VK0MADCTlCCaREj8GLDfAu+pNRC/woenUPUMlXYRBzmbASaoTbYYNChQGT5vxBERRpubPX3ZkYQ4Ck/u12wuZZsOP7zqqQy7w5QbKnDXiRo91MqjHmvTLxzbz5gDgh60RGcN2CKfwJ9yJJfJ8aegVBdfzerm4BRg+JA4sAMpAxJ/4VuKVDYFsSJdCLXC5Q3D2WSsie4Flj4FyqLEN8fidnxTx0xgCQTCMOM0EjxjX4dgn3gLiuEZ6gWh8ua1RpLfI+GHOglAA9q7CJaoHZ3uukHz6MwXzpNcEyh/QXUzAGPbx1reFeCeXl19S5nDQMhdRNdnpJgxxrcSnO8/8D4DhHs7Bjjd27zH3fXMEFyagvLEN006OphrntRTeKnoBn3saWxr0+7qxNo+TdRH7j8OWuNFt5+LaL692uF9Px1bL26xGlF5j2+n6KW4hiMoa5Kp9z4bCtmzrToNuWV0Zqe4pjrHFUdxEEJhOXBEtLXxjuxNSg26ryuHtSuFiNEZkPR9IK7hxblCGPCwq+I8zR2pAWvpAadbeiHDhz1K0xnUhQfWv46tbX+6CJl80G6gq9qUt/PxmAUAcL0kh7+JwjfHTqr2YfNK3608FrxAueaJC6YxrMVLAB2u39PA=",
"1.0.7": {
"sha256": "e4f5cf9765224d4c25472310089e0996f59772573dc59c1baa065810a16c19ba",
"sig": "A11yvEkveuPo2yyJaDhw9xt/+/xw7/4T3D2Kd/Px1LwCREio25gCr5BWPSIef5yALCS1nDHIzG8CIaDS+OHc4w87YAqIqVOcQaDi2E2t1El7B1noW8yXs+Ew/Ro3AwqN0lnJrtr8fZWVFKqxUTvxLLOJmh5jiud9vdrFzlaI2MNEvC0dY62T0hS1o4uij5/NIXHrZJuz43sa8WftL1RSD/z0lQELF43MaFYCfcDeyCZn2N/htyyvlOEi0bVbjZg1N2cyWAhKbAZu47t5Z5uyoV+VYcIPJT0IsGK2Vr/Js6ziSr3IqdpWl44ztXRLGp4Es17MMnjne30AbhOt+qIOPIcwyRQ7ENEu6MEgT3nA35y5fd1YK7Nz3IkJMxMe1XwyjLE82MgXg9tywb46zKeEJ9zzWk4No71Z6CPwo7kGEl7kzKLw61GYL+1AY+o2dmiDrO+l+DmTzHqGJ3GqBuCnG+5yKM+6klEKU+zmtuaQsPHamY5YLa302G59ecnH90+XIP9veB8jj0ipID8UoGZqJNZgUvkNN3CFoV3TMqA01M5VH7xqWTGPib+aoxCwFsaYiaKTbZBYjw9PQ/ECGXakfX3YpkR1YniNq+Y6UHpfnQNznqZBC+lrud67R2SmRN5JO6wIKiqaKwUT5B5k1ze3Ltdfb1i8bkhk1yNJZBmnr3MA4n5w7wvS/Fw4Uq1zkeUb+No4lP3nH1TcAwU+shesB44MUaLiTlnWUii1AGivEsTtqNp1YoSKVdX1c5GOia0F3iJBqyO1T++bgRpm433AkwaFLqvOr66CirCRtelhZaZtZPStBXATzSBlXEn1J2NbEA6rS185Twco4Cp92+otMFfACm59Ew94E0I8/NSXWEtGkaF7OadMdjS9WPf/5jHWoMnqA8dpYZZXXnZN3xU1eUaVxlu7bdoQxwjllkVMElLp30nOE7Gg2sHuV9xTZ5L2zaueDhZToiItZqce1mlG7zqN0fPlJ8SY0V5nGkm91L90rVi7/9YLKa3jE63Kkv6rMd/o1MAqaFIu1KOgcEbVzexIh1f3ikphIfgxT0PdEuhYa5OGhXwHI/7oaNT8I9XebFRVXCIRHoaYz+zxqCIDQVqDWnW62aTKBwdmGBAp0b9RsCNekCheR2SHfiJi2qAvMWbQR1c3MZpC9A5xAIJZ+FJpTqpagR5U09RIkMjfewpCrfXQYdIWXDJ7CDm2pYGxVn2IIrxvc5kpbsh7VpvNh8bA/TaHyxEKqRWFbua9JZcGP17jliBx3R2ZLt45BYET63Z7z6C8A/Js4bfEspXDd8KfF+rmu83crc1txaJx4WRpbVx8KTLlU/b9o+B5PaoV+BTt/CV3Jgf6uLLXKLB/EXU=",
"urls": [
"https://pixeldrain.com/api/file/_Qk344Yy",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_mac.dmg"
"https://pixeldrain.com/api/file/gBW5TSR0",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_mac.dmg"
]
}
},
"debian9": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"debian10": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"fedora28": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"fedora29": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"fedora30": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"opensuse15": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"opensuse15.1": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"solus": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"tumbleweed": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"ubuntu18.04": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"ubuntu18.10": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"ubuntu19.04": {
"1.0.6": {
"sha256": "39f0a8e78ee78d6237a3c884666f6d87551fae13bbb43928f8f6f96386d5ed41",
"sig": "AcrywSjZ+OHQTTJL+nbmtIcov2+5VhXUNFC1iNPsdlk19u7MRazE6OVgwa4GsEd8QsAnhrQocQeFr7Vc34lT7Z14Ypaf+rCtzcGxFJDdyq5KcPRS0svlO6KDkZ3u0IwRHIA4MGhET+jXLTKZvjC6VGXz6a7XFI9qHeD8W5QRCsfDIqOsgQFi2+gStoFuwRIi2nrhdEeqtH3jShciV+4bxwYISQ8V6xUuSYiymQTzYEOaPNgzO9nhvt6HWspQAlUs8Pmsw4jo15rob4vr8zNd7ZtfhLS4CtmCkgegVsbvxvZ+wo0MFHRXlBAB+N018APeGcN8flk9PusOOHsBzKdmgC38HDc2RL/+jEPr370GWGbzMlIEZLoVYRF1e0ivxLrlZz4l0cBJrc5JD+W3a8QulRp7y7oo9g13OFFsHw3dqRn/ei2rEwXU/+ux0P1TnZy2bWWGaPtDWghH83Dzk98lXnJZEmr2kw5klfzBHkSZKZEUHKYYXDezUJJIznphQQDbXX17uW51aKX8Su2HnD7IAFicjRoGFlxSXG1Qx9HyUzw4hVgrNocF5Mp1oHuX1xrP9Zlg6PF5vaVtcU+wB6ifdIXAQRhSvgLkp3aTHhA8H7xjFTMNKOGUTx8BJ1ze/yP4/ZAcl3FD708+cNLJCwthyFvTPyGH99j/jsam4d41io8SHXVN4+YfW7OLEI43jjKBVPBn9FMuAq9cgBJ9iTxmfZRT5uzb8lJnFrzXRPqiWU2ZWrviOIEhduzIr2UEWpkC8SndAVuMHePvvc0oRd7jWXHTWM7aV6gWrNyRDMMxcmAm2gZOtrjyI+mUgHNZ/k/MBpKNfWQvKDr26E1wEABwcG0/7ktWdDWSjHT+tXn8Xt7ZLwDE2yHJsrPdgIoAQQ+mrUc38gaazyyleqx/T+dW9P0GZU+oO1h17zj7GpEOllmWv2IVDekq17zTnQR5E5hku1xj8cP1RE6S1qYWT0bdzGBnaBg6hrgQ3zYW1SBuQDYBMTANHq8/JLsLXWU/Pf/ELbECaLeV7IPBLO2XC3PKjWttIF4ZkoX7YM7bo7Qgldocp2E/hjHq/5M1OEDbxOiohUWrYlSeHoIzyii+hIq60vA5ixMm7Ex9ZBtBFP16AGvJSr4sGELxMcMu0uPNIGYC6UQvZfXkQPBWD3C4QChNybQyn3VEiNo/b37HIoJIRYfLHwNpnUpT8viwGFfeQecGpnzooAQ1PevtmJwbPTWgKcUZEAk5TKgqZe3PcHsekuZ6gsT4hrKytxAAQTVqDGq9Up+eTuKRcUAoAt2ZyBTUtFsmatb5ODeA1ZeHak7LmwfarVZwIBC8RRfcRjuajmmfyr/PDWvyRyLCL2CMyrd0wg0=",
"1.0.7": {
"sha256": "dac898185beb12bd6e0eaf0164f2cdcd517223981678ee18e8ec99983921ecbf",
"sig": "A/jHXV4OFVc4jjczUlB+CzHZbmaCWIygzshHVS3wjpPYBuQjZRbqn0Lj7yIV7PBoaT3xBAykI0Nd6BAxFHdWwwt10d/Snz8jbW94U7LpQMYjhbmy/7FxlbVOcLJSGs1AeoZUIMsYZpyu74IFD0eHn7x37z5Sg62HBE03uggiwVdwKi5g5qfvgzpBkQnzlSAYRQFOb3wELjLu5GRupJQiKdYsUaSkh8xLeloxhsb3UD8VKB427lfyDG7Da+ZMUFROJN9e+1afkGshlJmLu+/6G+Wiyik7gnjVvNEIQyZOoUMfZNZfhO2oL+5YH1a5Sc7vXcPo1CqHxC9ZT9d5L2QLi/9isAk72FemdiRYhPcMHMJ52Zkp4s5WP/2HxCGunAMLx+qC+Zp4NIihkC99fGJcsJfJ4MX7W9ENdxtBA9al4E+Au2CftrxFWXuARhyCy3X6+b1JlQ1jeMWBqixEqthcsAHvWgVTJUOJKCcEJb4BzpQQt2iEIAqNg2nxIKcSeal86GSvz27Z7Cf7CaNXCxrc0CAJ8XeIm8ZzB17Fg/GnKfEDRzaxweL3yyMIrzpIZnGECc8xHBVa1cLpOpuL3s5DxsLRB4XvcNEQ9ywcyuK0ZiEDRHJMW7lWeKEHgvxhMZNTKFnBp72Fgla9Sb7r+ZGXkwJjSn2chwPkKyFr4HlQgMLU386C2fieL8aqaScbb9VpZnPC9gfXDE/ZaFnLug1ORQYwE45DFXoUSnLNVrFUAMne3ISDaXJ946dMQm/6lrAQm1PglS7WKk+1V+GYmrszx9YeHi+Mqz8Dmlww7PCOPbCYsDFHqeruxxcfisq7SoFoHEOzmlq1FNqT3h0hNatpGIKJ2/FM4tQnEuDIGb6gQZMUZrLrLiVYW4ZmeNBe/GoqOt6c8REbtbt4Hpo9UgueKhZtCZOppZZBXu6i59eJXOIgBtNqX+6Kg8R9iM8vhTNbpec5hC0Q9yyELdkoRZkbUDmKWObKZQSr6h82LlsDSggHFYKRtZ4mOqJNxR7U8T8XEr7xqSaC0jmCl9bbxNND1Ir1x6PREfOuSNABxCYHRvZBAqp3PI+T41OsN/2Gcbz5FKc1ShfRcEZKH6npg/mPeYB6KNtuTtgpTJefAAgEra6t3mrV84sjEPig0IfQhfp8VeZItB09OXV02aOOXHKOBU2VilXWF7+Lapjk51I6+BnWRulBkZg6k70YZP/6icOaR+Z60PS8kTqplELfsk4r41nsGlo7iQPHONd5jOa4vhRdmAws7Fan2o5x6wfCJyn1nljNTysLktSm9y8PzJFUVq/kscXac5Q7Rfl4F8JIqbVvmUT740/tJv1zTB4YLfgYJI5cnwVbFuTzTXeDOR/KPCk=",
"urls": [
"https://pixeldrain.com/api/file/u5WRzlSt",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_linux_x86_64.AppImage"
"https://pixeldrain.com/api/file/thkU0RHP",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_linux_x86_64.AppImage"
]
}
},
"win32": {
"1.0.6": {
"sha256": "600fee604de40fd8634213ccce9513edcd8defe881914e28b1445c2bf48dec10",
"sig": "CBQXvnArlk/CCATwiP8dPeoSGAqc+2iBhUnr8wr8W8z05BpcpQKxl/OLBz9BaT3WHlyCPOLujqWZzVEyHLcxewByLQjgxvxYZyk9Qsz0zieciemc5dvXFDqyUy3hQoiDjD4VlUFoh2eiO1Oq8yzpw68qocVHNdyWHNMbShQBLiTa47uxjvimK2MgTLK+xsHgy8NUQldr9jHbrPYS0ZIi2Zvh17A66k97cVkjfMkEK4+3hOC6A2rZ6MGBnnaHV8gPC4juUIauZEuic62bIwNOc64qQZ7xp8daH4pLRNbdk5Ia84Ew71wX+Fx7C42wa+NPs721CgQHZoLOgbmo0tPghIrZe3K4xhhLVvB9aNUXoLM/KDb3CrTtNgm4+9UEiuqEJR1XE10gseOBdmE4oyqkirru5yQzNbTSrhMg4r+fBKK5b8AVUkBQHw6AMlgcKFc03HwiWnsRsc4lQsoev1X8WOE1X+wkogNrIUCNwJQS/46f/q9vAm+UFVH82tOSfQOQu6a51rV6yp5vRPyZK2Zuo3uzjT50pBoitAC5GzqRqD+nBtmbiu0h9y3BtD/cGouWT20ges6/W3kIEW720sFa5xNYPPrYiZQ5UUBwlDSxitrSQzssE58JC8nk6B/OKljxL4sQRHpYJinTPd7ZhzX295Rfi3bA9qbcdIhs31g2Kkg0CUBNDGE6k8/MefoYW6u/8k3UoJ7wihVURp6Y7zXHx/aeymkbnTYSjTy57axYyMWJTRghOIuParYvE/hXZPCA9cEn3FzFUOmiq8elNwYklpsuEikTZAtyxEU4zU6+pcRvtXdp6p4fKCebAKqfjfGY/17Oc8b9k7ZRfePQtBU9ZckzmVHdnNqQ9fUmqTz4tyM1NjMxopSYWAiVtizbq3A40zmgmIukIxOanfQQz6f0wGjpV+D84evaz1R4Vb/H8tS1CQ+Cz2Sln8v5DDKegLWLqfWOcPK6KAeFLIAuT+IkfFO1nt1PfsCVRxCPdDFytdlGnKC/5mYRqAVwGZTgwzbIG1u/LOWkbSSCa0XkHQP2rJCi1aKn5NaGXO1X4nILEbk9LeLBiLoyGp4jlwy1McnrjHcJRBRcrKTEG9O9zwSsEW29JOtLwgB5HA+EaQlcEdNGPzBLHS67cv7McTfyviClfK0QC34+VMZ0wPGEunAWaK31ztwsYVYftl5E6UIZY6woYd3jSk55ekGH8QmeIqpfmsjHs9TgpZYCfgA8u2blfxhLnNxxYBa9Z14DNST0oaPuF1dAE6p3oYj2Uf7BSUvjz+XOKGY2/PLR4Jd7JxN4d55559Lprrz410BTxAZEpkn+3B3JdFCMtHKucAlNLhsAURc6qtWNHwRVxahX43AoeQQ=",
"1.0.7": {
"sha256": "fbf7611bca712413bd6e6900bcbd49bd3a1545b4d4e70afb2ee9bd59f74b8f97",
"sig": "B3URP0wqwJcxuisX/qkoLg19Tm1tUu0rQbkBrCtpscaSa5PhUS/p+6ID/eApKMy91SWqCeqw0C071OvTVfTmWRoB/v+9Kkftqs9IISIMDBZgJEAcwf5h0CYqRp/cLyl5XfZLnZoMDR6x7cIVejBaDu1EWtWtACTxfDy3SvtbHkXTfo5ojKk5DScTSNAeDVSL1dY7BBsGuy5WDR0GYpB+519//V4uNCeLSxmHMekEQdyMmjpaO4iKDOkqccwYNSrw3LpL6TQ6YpTX8g2I1tD1ucTKob5Z44LANceL/PMjk7XYRCplufZBIiAnK6mBQFjFFMm4dDTSWqFQKn+pJboTE1E20Gvs/1MFwO1S30mwOIuYebZ4Xfa/D26rFjjxsA8a62Xrxw5YenKczRWs1iNRK+BZUUNw3pbm0KtEwvJZX/XhaVBBuHwT4CDTLIK0tvVsVF6cMNXLdgJEBmItkSw8LdDta81SwHVco0oMxwExqFbwhXqZf7hQBx4NaytBft0QeXNGF0T1B7GTi+D2qr9F5YcIALzYPh5b6RC8yTuTuVgIW+f3LSY8yPTvJaFS3idjTMbzebWAC2aR0BNW1dPyEEoLzsQEfBDbXqSN4m7j+Nt2l5HGfpy370uOaVeKhIFgASJTvhp6FJ0+3FdJfv5E6E0h6EXCXsGCXmh51kcz5kPpmeLXa3OaoF8G5277hICztyUfqskmgz6cu5udRglW57ZwVM8nWRYo9yO5oiLn9ygq4ALOhUfQhbaCpICsDO5nG1R3rAj0t4a2yzQg+CqN9GXzf0+xlbuO0wdg92s2Tgs1O2F5U8yPvgp7fJIil8/GYmmJHj9zqj+kWjFm+ZPdreXns5m+jr58/hepaVyu7KVV/I/o5Q2dse5Xf+jvt7B8u2TC+JWmitzBJkDGRM0Rml+3QIb2F1lKMfPSs34aI7HJHjrfvExAcFiXDVsFXudVZqayjKWreA4gsgZ07GUi1lZ6qX00K7trxWz0BmlZqtXGofrDUQGgsiZ5FoGW5tFSs9t7DqUnpQAZCiVfPki8bphbPMeRsPXBMXsHKTK6TzbU8nukq8urMJWURetWQP5N4/dSI5zrgByBVI7n1TQvdE2bzMQrJP/xTLWGZUCRXfi2J7FmW7fbUtcAStVC2TPWPuzEC9Lvb3ybg0wepgEbMn1kGfb7mohJ5jeLHqhGzY9mx9fO191cduH9zI+yV5wrnYqWd5wN9J4NY66ULxeGxt03rzjMd2hv2tRRVRsT+/4ACUZcIV8JwUZgK51s5DuUWUsl2e5DBPAND/RVpThXJVFyAtBo/vDqoY3lg/pc4RaQZ6gNMoFeHbXwD/yu6TDDTWq5u00ZwNCbR0PaBTwDabs=",
"urls": [
"https://pixeldrain.com/api/file/DpGbYmao",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.6_win.exe"
"https://pixeldrain.com/api/file/AcsttDQ_",
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.7_win.exe"
]
}
}
},
"Versions": {
"arch": [
"1.0.6"
"1.0.7"
],
"centos7": [
"1.0.6"
"1.0.7"
],
"darwin": [
"1.0.6"
"1.0.7"
],
"debian9": [
"1.0.6"
"1.0.7"
],
"debian10": [
"1.0.6"
"1.0.7"
],
"fedora28": [
"1.0.6"
"1.0.7"
],
"fedora29": [
"1.0.6"
"1.0.7"
],
"fedora30": [
"1.0.6"
"1.0.7"
],
"linux": [
"unavailable"
],
"opensuse15": [
"1.0.6"
"1.0.7"
],
"opensuse15.1": [
"1.0.6"
"1.0.7"
],
"solus": [
"1.0.6"
"1.0.7"
],
"tumbleweed": [
"1.0.6"
"1.0.7"
],
"ubuntu18.04": [
"1.0.6"
"1.0.7"
],
"ubuntu18.10": [
"1.0.6"
"1.0.7"
],
"ubuntu19.04": [
"1.0.6"
"1.0.7"
],
"unknown": [
"unavailable"
],
"win32": [
"1.0.6"
"1.0.7"
]
}
}

View File

@@ -2,7 +2,6 @@ import React from 'react';
import './App.css';
import Box from './components/UI/Box/Box';
import Configuration from './containers/Configuration/Configuration';
import {checkVersionInstalled} from './redux/actions/install_actions';
import {connect} from 'react-redux';
import DependencyList from './components/DependencyList/DependencyList';
import DownloadProgress from './components/DownloadProgress/DownloadProgress';
@@ -13,6 +12,7 @@ import Loading from './components/UI/Loading/Loading';
import Modal from './components/UI/Modal/Modal';
import MountItems from './containers/MountItems/MountItems';
import {notifyError} from './redux/actions/error_actions';
import Reboot from './components/Reboot/Reboot';
import ReleaseVersionDisplay from './components/ReleaseVersionDisplay/ReleaseVersionDisplay';
import {saveState} from './redux/actions/common_actions';
import Text from './components/UI/Text/Text';
@@ -44,7 +44,6 @@ class App extends IPCContainer {
(prevProps.ReleaseVersion !== this.props.ReleaseVersion) ||
(prevProps.VersionLookup !== this.props.VersionLookup)) {
this.props.saveState();
this.props.checkVersionInstalled();
} else if (Object.keys(this.props.ProviderState).filter(k=> {
return this.props.ProviderState[k] !== prevProps.ProviderState[k];
}).length > 0) {
@@ -77,8 +76,11 @@ class App extends IPCContainer {
(selectedVersion !== 'unavailable') &&
(selectedVersion !== this.props.InstalledVersion);
const missingDependencies = (this.props.MissingDependencies.length > 0);
const allowMount = this.props.InstalledVersion !== 'none' &&
const missingDependencies = (this.props.MissingDependencies.length > 0) &&
this.props.AllowMount;
const allowMount = this.props.AllowMount &&
this.props.InstalledVersion !== 'none' &&
!missingDependencies &&
!this.props.InstallActive;
@@ -93,6 +95,7 @@ class App extends IPCContainer {
const showConfig = !missingDependencies &&
this.props.DisplayConfiguration &&
!this.props.RebootRequired &&
allowConfig;
const showUpgrade = this.props.UpgradeAvailable &&
@@ -100,12 +103,17 @@ class App extends IPCContainer {
!showConfig &&
!this.props.DownloadActive &&
!this.props.UpgradeDismissed &&
!this.props.InstallActive;
!this.props.InstallActive &&
!this.props.RebootRequired;
const showDependencies = !showUpgrade &&
missingDependencies &&
!this.props.DownloadActive;
!this.props.DownloadActive &&
!this.props.RebootRequired &&
!this.props.DismissDependencies &&
this.props.AllowMount;
const rebootDisplay = this.createModalConditionally(this.props.RebootRequired, <Reboot />);
const configDisplay = this.createModalConditionally(showConfig, <Configuration version={selectedVersion} />);
const dependencyDisplay = this.createModalConditionally(showDependencies, <DependencyList/>);
const downloadDisplay = this.createModalConditionally(this.props.DownloadActive, <DownloadProgress/>);
@@ -143,6 +151,7 @@ class App extends IPCContainer {
{upgradeDisplay}
{downloadDisplay}
{configDisplay}
{rebootDisplay}
<div className={'AppContainer'}>
<div className={'AppHeader'}>
<Box>
@@ -178,8 +187,10 @@ class App extends IPCContainer {
const mapStateToProps = state => {
return {
AllowDownload: state.download.AllowDownload,
AllowMount: state.common.AllowMount,
AppPlatform: state.common.AppPlatform,
AppReady: state.common.AppReady,
DismissDependencies: state.install.DismissDependencies,
DisplayConfiguration: state.mounts.DisplayConfiguration,
DisplayError: state.error.DisplayError,
DownloadActive: state.download.DownloadActive,
@@ -189,6 +200,7 @@ const mapStateToProps = state => {
MissingDependencies: state.install.MissingDependencies,
MountsBusy: state.mounts.MountsBusy,
ProviderState: state.mounts.ProviderState,
RebootRequired: state.common.RebootRequired,
Release: state.relver.Release,
ReleaseVersion: state.relver.Version,
UpgradeAvailable: state.relver.UpgradeAvailable,
@@ -200,7 +212,6 @@ const mapStateToProps = state => {
const mapDispatchToProps = dispatch => {
return {
checkVersionInstalled: () => dispatch(checkVersionInstalled()),
loadReleases: ()=> dispatch(loadReleases()),
notifyError: (msg, critical, callback) => dispatch(notifyError(msg, critical, callback)),
saveState: () => dispatch(saveState()),

View File

@@ -6,16 +6,19 @@ import Dependency from './Dependency/Dependency';
import Box from '../UI/Box/Box';
import {downloadItem} from '../../redux/actions/download_actions';
import {extractFileNameFromURL} from '../../utils';
import {setDismissDependencies} from '../../redux/actions/install_actions';
const mapStateToProps = state => {
return {
AllowDismissDependencies: state.relver.AllowDismissDependencies,
MissingDependencies: state.install.MissingDependencies,
};
};
const mapDispatchToProps = (dispatch) => {
return {
downloadItem: (name, type, url) => dispatch(downloadItem(name, type, url))
downloadItem: (name, type, url, isWinFSP) => dispatch(downloadItem(name, type, url, isWinFSP)),
setDismissDependencies: dismiss => dispatch(setDismissDependencies(dismiss)),
};
};
@@ -24,12 +27,23 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => {
return (
<Dependency key={i}
name={k.display}
onDownload={()=>props.downloadItem(extractFileNameFromURL(k.download), Constants.INSTALL_TYPES.Dependency, k.download)}/>
onDownload={()=>props.downloadItem(extractFileNameFromURL(k.download), Constants.INSTALL_TYPES.Dependency, k.download, k.is_winfsp)}/>
);
});
let dismissDisplay;
if (props.AllowDismissDependencies) {
dismissDisplay = (
<div style={{float: 'right', margin: 0, paddingRight: '4px', boxSizing: 'border-box', display: 'block'}}>
<b style={{cursor: 'pointer'}}
onClick={()=>props.setDismissDependencies(true)}>X
</b>
</div>);
}
return (
<Box dxStyle={{width: '300px', height: 'auto', padding: '5px'}}>
{dismissDisplay}
<div style={{width: '100%', height: 'auto', paddingBottom: '5px', boxSizing: 'border-box'}}>
<h1 style={{width: '100%', textAlign: 'center', color: 'var(--text_color_error)'}}>Missing Dependencies</h1>
</div>

View File

@@ -0,0 +1,11 @@
.RebootHeading {
color: var(--text_color_error);
text-align: center;
margin-bottom: 4px;
}
.RebootContent {
max-height: 60vh;
overflow-y: auto;
margin-bottom: 8px;
}

View File

@@ -0,0 +1,24 @@
import React from 'react';
import './Reboot.css';
import {connect} from 'react-redux';
import Box from '../UI/Box/Box';
import Button from '../UI/Button/Button';
import {rebootSystem} from '../../redux/actions/common_actions';
const mapDispatchToProps = dispatch => {
return {
rebootSystem: () => dispatch(rebootSystem()),
};
};
export default connect(null, mapDispatchToProps)(props => {
return (
<Box dxDark dxStyle={{padding: '8px'}}>
<h1 className={'RebootHeading'}>Reboot System</h1>
<div className={'RebootContent'}>
<p>Repertory requires a system reboot to continue.</p>
</div>
<Button clicked={()=>props.rebootSystem()}>Reboot Now</Button>
</Box>
);
});

View File

@@ -7,12 +7,13 @@ import Grid from '../UI/Grid/Grid';
import Text from '../UI/Text/Text';
import Button from '../UI/Button/Button';
import UpgradeIcon from '../UpgradeIcon/UpgradeIcon';
import {setActiveRelease} from "../../redux/actions/release_version_actions";
import {setActiveRelease} from '../../redux/actions/release_version_actions';
import {downloadItem} from '../../redux/actions/download_actions';
const mapStateToProps = state => {
return {
AppPlatform: state.common.AppPlatform,
DismissDependencies: state.install.DismissDependencies,
DownloadActive: state.download.DownloadActive,
InstallActive: state.install.InstallActive,
InstallType: state.install.InstallType,
@@ -74,7 +75,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => {
text={text}
textAlign={'left'}/>
));
} else if (props.downloadDisabled) {
} else if (props.downloadDisabled || props.DismissDependencies) {
optionsDisplay.push((
<Text col={dimensions => (dimensions.columns / 3) * 2}
colSpan={'remain'}
@@ -100,7 +101,6 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => {
col={dimensions => (dimensions.columns / 3) * 2}
colSpan={20}
key={key++}
disabled={props.downloadDisabled}
row={5}
rowSpan={7}>Install</Button>
));

View File

@@ -111,6 +111,8 @@ exports.IPC_Install_Upgrade_Reply = 'install_upgrade_reply';
exports.IPC_Mount_Drive = 'mount_drive';
exports.IPC_Mount_Drive_Reply = 'mount_drive_reply';
exports.IPC_Reboot_System = 'reboot_system';
exports.IPC_Save_State = 'save_state';
exports.IPC_Show_Window = 'show_window';

View File

@@ -223,7 +223,10 @@ class MountItems extends IPCContainer {
}
if (location !== providerState.MountLocation) {
this.handleMountLocationChanged(provider, location);
const value = (this.props.Platform === 'win32') ?
data.DriveLetters[provider].indexOf(location) :
location;
this.handleMountLocationChanged(provider, value);
}
if (!this.props.AutoMountProcessed &&

View File

@@ -12,6 +12,55 @@ const _getDataDirectory = () => {
return _resolvePath(Constants.DATA_LOCATIONS[os.platform()]);
};
const _executeProcess = (command, args=[]) => {
return new Promise((resolve, reject) => {
const processOptions = {
detached: true,
shell: false,
};
const process = new spawn(command, args, processOptions);
const pid = process.pid;
process.on('error', (err) => {
reject(err, pid);
});
process.on('exit', (code) => {
resolve(code);
});
process.unref();
});
};
const _execProcessGetOutput = (cmd, args) => {
return new Promise((resolve, reject) => {
const proc = spawn(cmd, args, {
env: process.env,
stdio: ['ignore', 'pipe', 'pipe']
});
let output;
proc.stdout.on('data', data => {
output += data.toString();
});
proc.on('error', (err) => {
reject(err);
});
proc.on('exit', () => {
const lines = output
.replace(/\r\n/g, '\n')
.split('\n');
resolve(lines);
});
proc.unref();
});
};
const _resolvePath = str => {
if (os.platform() === 'win32') {
return str.replace(/%([^%]+)%/g, (_, n) => {
@@ -125,7 +174,7 @@ module.exports.downloadFile = (url, destination, progressCallback, completeCallb
fs.unlinkSync(destination);
}
} catch (e) {
completeCallback(false, e);
completeCallback(e);
return;
}
@@ -133,32 +182,47 @@ module.exports.downloadFile = (url, destination, progressCallback, completeCallb
.get(url, {
responseType: 'stream',
})
.then((response) => {
const stream = fs.createWriteStream(destination);
const total = parseInt(response.headers['content-length'], 10);
let downloaded = 0;
response.data.on('data', (chunk) => {
stream.write(Buffer.from(chunk));
downloaded += chunk.length;
if (progressCallback) {
progressCallback((downloaded / total * 100.0).toFixed(2));
.then(response => {
try {
const total = parseInt(response.headers['content-length'], 10);
if (total === 0) {
completeCallback(Error('No data available for download'));
} else {
const stream = fs.createWriteStream(destination);
let downloaded = 0;
response.data.on('data', (chunk) => {
stream.write(Buffer.from(chunk));
downloaded += chunk.length;
if (progressCallback) {
progressCallback((downloaded / total * 100.0).toFixed(2));
}
});
response.data.on('end', () => {
stream.end(() => {
if (downloaded === 0) {
completeCallback(Error('Received 0 bytes'));
} else if (downloaded !== total) {
completeCallback(Error('Received incorrect number of bytes'));
} else {
completeCallback();
}
});
});
response.data.on('error', error => {
stream.end(() => {
completeCallback(error);
});
});
}
});
response.data.on('end', () => {
stream.end(() => {
completeCallback();
});
});
response.data.on('error', (e) => {
stream.end(() => {
completeCallback(e);
});
});
} catch (error) {
completeCallback(error);
}
})
.catch((e)=> {
completeCallback(e);
.catch(error => {
completeCallback(error);
});
};
@@ -484,6 +548,65 @@ module.exports.mkDirByPathSync = (targetDir, { isRelativeToScript = false } = {}
}, initDir);
};
module.exports.performWindowsUninstall = names => {
return new Promise((resolve, reject) => {
if (os.platform() !== 'win32') {
reject('Windows OS is not being used');
} else {
const cmd = path.join(process.env.windir, 'system32', 'reg.exe');
const args = ["QUERY", "HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall"];
_execProcessGetOutput(cmd, args)
.then(lines => {
const parseLine = index => {
if (index < lines.length) {
const line = lines[index];
if (line.startsWith('HKEY_LOCAL_MACHINE\\')) {
let args2 = JSON.parse(JSON.stringify(args));
args2[1] = 'HKLM\\' + line.substr(19);
args2.push('/v');
args2.push('DisplayName');
args2.push('/t');
args2.push('REG_SZ');
_execProcessGetOutput(cmd, args2)
.then(lines => {
const value = lines[2].trim().substr(args2[3].length).trim().substr(6).trim();
if (names.includes(value)) {
const items = line.split('\\');
const productCode = items[items.length - 1];
_executeProcess('msiexec.exe', ['/x', productCode, '/norestart'])
.then(code => {
if ((code === 0) || (code === 3010) || (code === 1641)) {
resolve(true);
} else {
reject('[' + value + '] uninstall failed: ' + code);
}
})
.catch(err => {
reject(err);
});
} else {
parseLine(++index);
}
})
.catch(err=> {
parseLine(++index);
});
} else {
parseLine(++index);
}
} else {
resolve(false);
}
};
parseLine(0);
})
.catch( err => {
reject(err);
});
}
});
};
module.exports.removeDirectoryRecursively = (p) => {
if (fs.existsSync(p)) {
fs

View File

@@ -4,7 +4,25 @@ import {getIPCRenderer} from '../../utils';
const ipcRenderer = getIPCRenderer();
export const notifyRebootRequired = createAction('common/notifyRebootRequired');
export const setAllowMount = createAction('common/setAllowMount');
export const rebootSystem = () => {
return dispatch => {
dispatch(setApplicationReady(false));
if (ipcRenderer) {
ipcRenderer.send(Constants.IPC_Reboot_System);
}
}
};
export const setApplicationReady = createAction('common/setApplicationReady');
export const setRebootRequired = () => {
return dispatch => {
dispatch(showWindow());
dispatch(notifyRebootRequired(true));
};
};
export const showWindow = () => {
return dispatch => {

View File

@@ -25,7 +25,7 @@ export const setDownloadBegin = (name, type, url) => {
export const setDownloadEnd = createAction('download/setDownloadEnd');
export const setDownloadProgress = createAction('download/setDownloadProgress');
export const downloadItem = (name, type, urls) => {
export const downloadItem = (name, type, urls, isWinFSP) => {
return (dispatch, getState) => {
if (!Array.isArray(urls)) {
urls = [urls];
@@ -35,7 +35,7 @@ export const downloadItem = (name, type, urls) => {
if (result.Success) {
switch (type) {
case Constants.INSTALL_TYPES.Dependency:
dispatch(installDependency(result.Destination, result.URL));
dispatch(installDependency(result.Destination, result.URL, isWinFSP));
break;
case Constants.INSTALL_TYPES.Release:
dispatch(installRelease(result.Destination));

View File

@@ -12,7 +12,9 @@ import {
setReleaseUpgradeAvailable
} from './release_version_actions';
import {
setAllowMount,
setApplicationReady,
setRebootRequired,
showWindow,
shutdownApplication
} from './common_actions';
@@ -42,6 +44,7 @@ export const checkInstalled = (dependencies, version) => {
dispatch(setReleaseUpgradeAvailable(upgradeAvailable));
dispatch(setMissingDependencies(result.Dependencies));
dispatch(setAllowDownload(true));
dispatch(setAllowMount(true));
if (result.Dependencies && (result.Dependencies.length > 0)) {
dispatch(showWindow());
}
@@ -81,7 +84,7 @@ export const checkVersionInstalled = () => {
};
};
export const installDependency = (source, url) => {
export const installDependency = (source, url, isWinFSP) => {
return (dispatch, getState) => {
if (ipcRenderer && !getState().install.InstallActive) {
dispatch(setInstallActive(Constants.INSTALL_TYPES.Dependency));
@@ -89,11 +92,15 @@ export const installDependency = (source, url) => {
const installDependencyComplete = (event, arg) => {
const result = arg.data;
const handleCompleted = ()=> {
ipcRenderer.send(Constants.IPC_Delete_File, {
FilePath: source,
});
dispatch(setInstallComplete(result));
dispatch(checkVersionInstalled());
if (result.RebootRequired) {
dispatch(setRebootRequired());
} else {
ipcRenderer.send(Constants.IPC_Delete_File, {
FilePath: source,
});
dispatch(setInstallComplete(result));
dispatch(checkVersionInstalled());
}
};
if (result.Success && source.toLowerCase().endsWith('.dmg')) {
@@ -121,6 +128,7 @@ export const installDependency = (source, url) => {
ipcRenderer.send(Constants.IPC_Install_Dependency, {
Source: source,
URL: url,
IsWinFSP: isWinFSP,
});
}
};
@@ -183,6 +191,7 @@ export const installUpgrade = (source, sha256, signature, skipVerification) => {
};
};
export const setDismissDependencies = createAction('install/setDismissDependencies');
export const setInstallActive = createAction('install/setInstallActive');
export const setInstallComplete = createAction('install/setInstallComplete');
export const setMissingDependencies = createAction('install/setMissingDependencies');

View File

@@ -4,9 +4,14 @@ import {createAction} from 'redux-starter-kit';
import {notifyError} from './error_actions';
import {
saveState,
setAllowMount,
setApplicationReady,
showWindow
} from './common_actions';
import {
checkVersionInstalled,
setDismissDependencies
} from './install_actions';
import {unmountAll} from './mount_actions';
export const CLEAR_UI_UPGRADE = 'relver/clearUIUpgrade';
@@ -38,9 +43,8 @@ export const detectUIUpgrade = () => {
} else {
dispatch(clearUIUpgrade());
}
}).catch(error => {
}).catch(() => {
dispatch(clearUIUpgrade());
dispatch(notifyError(error));
});
};
};
@@ -61,16 +65,20 @@ export const loadReleases = () => {
dispatch(setReleaseData(locationsLookup, versionLookup));
const dispatchActions = () => {
const dispatchActions = (processAllowDismiss = true) => {
dispatch(setReleaseUpgradeAvailable((version !== latestVersion)));
dispatch(setApplicationReady(true));
dispatch(detectUIUpgrade());
if (processAllowDismiss) {
dispatch(setAllowDismissDependencies(versionLookup[Constants.RELEASE_TYPES[release]].length > 1));
}
dispatch(checkVersionInstalled());
};
if ((version !== state.Version) || (release !== state.Release)) {
dispatch(unmountAll(() => {
dispatch(setActiveRelease(release, version));
dispatchActions();
dispatchActions(false);
dispatch(showWindow());
dispatch(saveState());
}));
@@ -113,17 +121,33 @@ export const loadReleases = () => {
};
};
export const SET_ACTIVE_RELEASE = 'relver/setActiveRelease';
export const setActiveRelease = (release, version) => {
export const NOTIFY_ACTIVE_RELEASE = 'relver/notifyActiveRelease';
export const notifyActiveRelease = (release, version) => {
return {
type: SET_ACTIVE_RELEASE,
type: NOTIFY_ACTIVE_RELEASE,
payload: {
release,
version
release: release,
version: version
},
};
};
export const setActiveRelease = (release, version) => {
return (dispatch, getState) => {
dispatch(setAllowMount(false));
const relVer = getState().relver;
const common = getState().common;
const versions = relVer.VersionLookup[Constants.RELEASE_TYPES[release]];
dispatch(setAllowDismissDependencies(versions.length > 1));
dispatch(setDismissDependencies(false));
dispatch(notifyActiveRelease(release, version));
if (common.AppReady) {
dispatch(checkVersionInstalled());
}
};
};
export const setAllowDismissDependencies = createAction('relver/setAllowDismissDependencies');
export const setDismissUIUpgrade = createAction('relver/setDismissUIUpgrade');
export const setInstalledVersion = createAction('relver/setInstalledVersion');

View File

@@ -1,18 +1,36 @@
import {createReducer} from 'redux-starter-kit';
import {setApplicationReady} from '../actions/common_actions';
import {
notifyRebootRequired,
setAllowMount,
setApplicationReady,
} from '../actions/common_actions';
export const createCommonReducer = (platform, appPlatform, version) => {
return createReducer({
AllowMount: false,
AppPlatform: appPlatform,
AppReady: false,
Platform: platform,
RebootRequired: false,
Version: version,
}, {
[setAllowMount]: (state, action) => {
return {
...state,
AllowMount: action.payload,
}
},
[setApplicationReady]: (state, action) => {
return {
...state,
AppReady: action.payload,
};
}
},
[notifyRebootRequired]: (state, action) => {
return {
...state,
RebootRequired: action.payload,
};
},
});
};

View File

@@ -1,16 +1,24 @@
import {createReducer} from 'redux-starter-kit';
import {
setDismissDependencies,
setInstallActive,
setInstallComplete,
setMissingDependencies
} from '../actions/install_actions';
export const installReducer = createReducer({
DismissDependencies: false,
InstallActive: false,
InstallResult: null,
InstallType: null,
MissingDependencies: [],
}, {
[setDismissDependencies]: (state, action) => {
return {
...state,
DismissDependencies: action.payload,
}
},
[setInstallActive]: (state, action) => {
return {
...state,

View File

@@ -14,6 +14,7 @@ const versionLookup = Constants.RELEASE_TYPES.map(k=> {
});
export const releaseVersionReducer = createReducer({
AllowDismissDependencies: false,
InstalledVersion: 'none',
LocationsLookup: {},
Release: 0,
@@ -35,13 +36,19 @@ export const releaseVersionReducer = createReducer({
UpgradeVersion: null,
};
},
[Actions.SET_ACTIVE_RELEASE]: (state, action) => {
[Actions.NOTIFY_ACTIVE_RELEASE]: (state, action) => {
return {
...state,
Release: action.payload.release,
Version: action.payload.version
};
},
[Actions.setAllowDismissDependencies]: (state, action) => {
return {
...state,
AllowDismissDependencies: action.payload,
};
},
[Actions.setDismissUIUpgrade]: (state, action) => {
return {
...state,